2015-04-22 16 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)