2015-04-22 24 views
0

3个文件将被逐行读取,因此:10+的演出文件阅读问题的Python

with open(file) as f: 
    for line in f: 
     print line 

for line in open(file): 
    print line 

都尝试一行一行的读者,但只要该文件大小开始超过10 GB python选择尝试并将整个文件读入内存......(适用于文件大小< 10 GB)

任何想法为什么?

+6

是10GB的线路分裂正常吗?也许10GB文件只是一个长行 – TankorSmash

+1

,除非你有一个令人难以置信的大行,它不应该把它全部读入内存 –

+3

什么'wc -l filename'显示 –

回答

1

您可以使用一个可选的参数来限制你多少个字符可以一次读取:

with open(file, "r") as f: 
    line = f.readline(max_chars) 
    while line: 
     print(line, end='') 
     line = f.readline(max_chars)