欢迎来到天天文库
浏览记录
ID:34708000
大小:50.51 KB
页数:6页
时间:2019-03-09
《python读写文件方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用tryfinally语句来确保最后能关闭文件。file_object=open(&1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object=open('thefile.txt')try:all_the_text=file_object.read()finally:file_object.close()注:不能把open语句放在try块里,因为当打开文件出
2、现异常时,文件对象file_object无法执行close()方法。2.读文件读文本文件input=open('data','r')#第二个参数默认为rinput=open('data')读二进制文件input=open('data','rb')读取所有内容file_object=open('thefile.txt')try:all_the_text=file_object.read()finally:file_object.close()读固定字节file_object=open('abinfile','rb')try:whileTru
3、e:chunk=file_object.read(100)ifnotchunk:breakdo_something_with(chunk)finally:file_object.close()读每行list_of_all_the_lines=file_object.readlines()如果文件是文本文件,还可以直接遍历文件对象获取每行:forlineinfile_object:processline3.写文件写文本文件output=open('data','w')写二进制文件output=open('data','wb')追加写文件ou
4、tput=open('data','w+')写数据file_object=open('thefile.txt','w')file_object.write(all_the_text)file_object.close()写入多行file_object.writelines(list_of_text_strings)注意,调用writelines写入多行在性能上会比使用write一次性写入要高。在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为2GB的机器上处理一个
5、2GB的日志文件,我们可能希望每次只处理其中200MB的内容。在Python中,内置的File对象直接提供了一个readlines(sizehint)函数来完成这样的事情。以下面的代码为例:file=open('test.log','r')sizehint=209715200#200Mposition=0lines=file.readlines(sizehint)whilenotfile.tell()-position<0:position=file.tell()lines=file.readlines(sizehint)每次调用read
6、lines(sizehint)函数,会返回大约200MB的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比sizehint指定的值大一点(除最后一次调用readlines(sizehint)函数的时候)。通常情况下,Python会自动将用户指定的sizehint的值调整成内部缓存大小的整数倍。file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。在python中一切都是对象,file也不例外,file有file的方法和属性。下面先来看如何创建一个file对象:file(na
7、me[,mode[,buffering]])file()函数用于创建一个file对象,它有一个别名叫open(),可能更形象一些,它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。name是文件的名字。mode是打开的模式,可选的值为rwaU,分别代表读(默认)写添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的
8、系统中有不同模式,比如在unix中是一个,而在windows中是‘r’,用U模式打开文件,就是支持所有的换行模式,也就说‘r’'''r'都可表示换行,会有一个tuple用
此文档下载收益归作者所有