“for file in file /read.readlines()”之间的区别是什么?

时间:2016-05-19 03:24:45

标签: python file-io readlines

根据类型,file是一个函数而file.readlines()是一个行列表。但是为什么这两个在以下代码中生成相同的结果:

file = open("test.txt")
for x in file:
    print x

file = open("test.txt")
for x in file.readlines():
    print x

1 个答案:

答案 0 :(得分:3)

readlines()将整个文件读入list(),然后使用for进行迭代。但是,您也可以迭代file对象本身,这将导致它在循环的每次迭代中一次读取一行。这样效率更高,因为它不会立即将整个文件的内容存储在内存中。