read()方法用于直接读取字节到字符串中,可以接参数给定最多读取的字节数,如果没有给定,则文件读取到末尾。

readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回。

readlines()方法读取所有行然后把它们作为一个字符串列表返回

########

write()方法和read()、readline()方法相反,将 ####字符串####写入到文件中。

和readlines()方法一样,writelines()方法是针对####列表####的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。

1.write

>>> >fobj = open('x','w')      ###确保/root/3.txt没有存在,如果存在,则会首先清空,然后写入。
>>> >msg = ['write date','to x','finish'] ###这里没有显式的给出换行符
>>> >for m in msg:
... fobj.write(m)
...
>>> >fobj.close()
x内容:
write dateto xfinish
>>>>fobj = open('x','w') ###覆盖之前的数据
>>>>msg = ['write date\n','to x\n','finish\n'] ###显式给出换行符
>>> >for m in msg:
... fobj.write(m)
...
>>> >fobj.close()
x内容:
write date
to x
finish
>>> f=open('x','w')
>>> f.write('this\nis\nschool') #write(string)
>>> f.close()
>>>
>>> f=open('x','r')
>>> f.read() #在这里直接f.read()读出的是不换行的一段字符。
'this\nis\nschool'
>>> >>> f=open('x','r')
>>> print f.read() #使用print语句将文件somefile-11-4.txt文件的真正内容显示出来。
this
is
school
>>>

2.writelines(string)

>>>>fobj = open('x','w')
>>>>msg = ['write date\n','to x\n','finish\n']
>>>>fobj.writelines(msg)
>>>>fobj.close()
x内容:
write date
to 3.txt
finish
>>> f=open('x','r')
>>> lines=f.readlines() #将读到的文件内所有的内容放到分配的内存lines里
>>> f.close()
>>> lines[1]="isn't a\n" #这里必须是双引号,而不是单引号,否则报错,在内存的第二行写上字符:isn't a
>>> f=open('x','w') #以写的方式打开文件
>>> f.writelines(lines) #将内存lines里的内容写入到文件对象f里
>>> f.close()
>>> f=open('x','r') #以读的方式打开文件somefile-11-4.txt
>>> print f.read() #将读出的所有内容打印出来
this
isn't a
school
>>>

3.读文件

>>> f=file("x")
>>> for line in f.readlines():
... print line, #如果不加逗号可能会出现多个空白行,加一个逗号可以避免这种情况,并且这样写可以避免文件里如果有中文会乱码的情况
this
isn't a
school >>>f=file("x")
>>>f.readline()
this
>>>f,readline()
isn't a
>>>f.readline()
school
>>> f = open("x","r")
>>> print f.read()
this
isn't a
school

最新文章

  1. NOIP2005过河[DP 状态压缩]
  2. C#解决从含身份证号码的Excel表格导入数据库的问题
  3. linux deepin-scrot 截图工具
  4. java计算当前周开始日期&结束日期
  5. [C和指针]第五部分
  6. Java知识点:instanceof关键字
  7. 在Docker下部署Nginx
  8. 自己在安装centos 系统时, 是使用英文安装 成功,现在系统语言为英语,如何设置为中文?
  9. java.lang.NoSuchMethodError: com.google.common.collect.Maps.newConcurrentMap()Ljava/util/concurrent/Concurren‌​tMap;
  10. poj2656---求一列数中最大数的序数而且在前面输入的更优先
  11. 剑指offer 替换字符串中的空格
  12. 快速部署Python应用:Nginx+uWSGI配置详解
  13. android - 自定义(组合)控件 + 自定义控件外观
  14. 技术大牛是如何拿到国内IT巨头offer的?
  15. request+response+jsp+el+jstl
  16. HTML超级链接详细讲解
  17. NetBeans的(默认)快捷键
  18. 牛客练习赛16D K进制 数论(待理解QAQ)
  19. Arachni web扫描工具
  20. django-form.errors和前端上传文件

热门文章

  1. Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=11.0.0.0 异常处理
  2. Asp.Net Web Forms/MVC/Console App中使用Autofac
  3. Android项目分包---总结-------直接使用
  4. 【NOIP】提高组2012 同余方程
  5. HDU 1087 Super Jumping! Jumping! Jumping! --- DP入门之最大上升子序列
  6. Problem B. Harvest of Apples(杭电2018年多校+组合数+逆元+莫队)
  7. new操作符的内部运行解析
  8. 【R语言学习】时间序列
  9. tornado简单使用
  10. Keil MDK 5.14 仿真时System Viewer菜单显示空白和Peripherals菜单无外设寄存器