在Python 2.7中有一个文件对象:
f = open('my_file', 'r')
for循环文件(最常见的方式)和使用xreadlines()
函数之间的区别是什么:
for line in f:
# Do something with line
和
for line in f.xreadlines():
# Do something with line
我的意思是,两个选项都定义了一个生成器,而readlines()
或read()
函数则将所有文件内容加载到内存中。
是否有任何性能或文件处理改进?或者他们只是以同样的方式做同样的事情?
答案 0 :(得分:20)
file.xreadlines()
This method returns the same thing as iter(f).
New in version 2.1.
Deprecated since version 2.3: Use for line in file instead.
...在处理文件时最好使用with
关键字;再次查看文档页面。
with open('my_file', 'r') as f:
for line in f:
# do stuff