我试图在python 2.7中解析文本文件。该文件有大约10 ^ 11行,所以我无法将其加载到内存中。
这很好用:
with open('file_name.txt') as f:
for row in f:
#Do something...
但是,我并不总是希望在整个文件上运行脚本。我发现这也有效:
max_rows = 10**2
with open('file_name.txt') as f:
for n in range(max_rows):
row = f.next()
#Do something...
但是,如果我设置:
max_rows = 10**9
我收到内存错误。希望能够了解为什么会发生这种情况,这对我来说非常违反直觉。两种脚本方法似乎都应该一次只读取一行文本到内存中。