根据类型,file是一个函数而file.readlines()是一个行列表。但是为什么这两个在以下代码中生成相同的结果:
file = open("test.txt")
for x in file:
print x
和
file = open("test.txt")
for x in file.readlines():
print x
答案 0 :(得分:3)
readlines()
将整个文件读入list()
,然后使用for
进行迭代。但是,您也可以迭代file
对象本身,这将导致它在循环的每次迭代中一次读取一行。这样效率更高,因为它不会立即将整个文件的内容存储在内存中。