python读取文件的几种方法总结
- 逐行读取,并处理
file =open("test.txt")
for line in file:
pass #do something
#另一种方法
f = open("test.txt","r")
lines = f.readlines()#读取全部内容
for line in lines:
print line
2.日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。
file = open("test.txt")
while 1:
lines=file.readlines(100000)
if not lines:
break
for line in lines:
pass #do something
#事实证明,用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍
3.file的读写方法:
F.read([size]) #size为读取的长度,以byte为单位
F.readline([size])
读一行,如果定义了size,有可能返回的只是一行的一部分
**F.readlines([size])**
把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
F.write(str)
把str写到文件中,write()并不会在str后加上一个换行符
F.writelines(seq)
把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
4. 最后,总结了python读取文件的步骤:
- 打开文件
file =open("test.txt")`
说明: 第一个参数是文件名称,包括路径;第二个参数是打开的模式mode
'r':只读(缺省。如果文件不存在,则抛出错误)
'w':只写(如果文件不存在,则自动创建文件)
'a':附加到文件末尾
'r+':读写
如果需要以二进制方式打开文件,需要在mode后面加上字符"b",比 如"rb""wb"等
- 读取文件内容
#读取方式1:读取文件的一行内容
f.readline() `
#读取方式2:
f.readlines()
说明:读取所有的行到数组里面[line1,line2,...lineN]。在避免将所有 文件内容加载到内存中,这种方法常常使用,便于提高效率。
#读取方式3:
f.read(size)
说明:参数size表示读取的数量,可以省略。如果省略size参数,则表示读取文件所有内容
- 写入文件
f.write(string)
将一个字符串写入文件,如果写入结束,必须在字符串后面加上"\n"
- 关闭文件
f.close()
参考:
http://blog.youkuaiyun.com/adupt/article/details/4435615
http://developer.51cto.com/art/201003/187960.htm