"for x in file/file.readlines()"有什么区别

What's the difference between "for x in file/file.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

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