Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python xreadlines和for循环文件之间的区别_Python_File - Fatal编程技术网

Python xreadlines和for循环文件之间的区别

Python xreadlines和for循环文件之间的区别,python,file,Python,File,在Python 2.7中具有文件对象: f = open('my_file', 'r') 循环文件(最常见的方式)和使用xreadlines()函数有什么区别: for line in f: # Do something with line 及 我的意思是,这两个选项都定义了一个生成器,与将所有文件内容加载到内存的readlines()或read()函数不同 其中有没有性能或文件处理方面的改进?或者它们只是做同样事情的等效方法?来自 。。。在处理文件时,最好使用with关键字;再次查

在Python 2.7中具有文件对象:

f = open('my_file', 'r')
循环文件(最常见的方式)和使用
xreadlines()
函数有什么区别:

for line in f:
    # Do something with line

我的意思是,这两个选项都定义了一个生成器,与将所有文件内容加载到内存的
readlines()
read()
函数不同

其中有没有性能或文件处理方面的改进?或者它们只是做同样事情的等效方法?

来自

。。。在处理文件时,最好使用
with
关键字;再次查看文档页面

with open('my_file', 'r') as f:
    for line in f:
        # do stuff

xreadlines
排在第一位。一般来说,Python从基于列表的函数(
range
items
zip
)开始,引入了迭代器对应项(
xrange,
iteritems
izip`),然后将原始函数更改为返回迭代器。这是其中一个更改的结尾。还请注意,
for uuu in something
将在幕后调用
iter(something)
。这意味着它们完全相同!
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 open('my_file', 'r') as f:
    for line in f:
        # do stuff