2011-04-28 22 views
1

以下是我在Windows上使用IDLE(版本2.6.5,具有相同Python版本)的奇怪問題。無緣無故的Python/IDLE CPU使用率

我嘗試運行以下三個命令:

fid= open('file.txt', 'r') 
lines=fid.readlines() 
print lines 

當執行命令行打印時,pythonw.exe過程將CPU瘋狂,消耗CPU的100%,IDLE似乎不響應。 file.txt大約130 kb - 我不認爲這個文件非常大!

當線條終於打印出來(幾分鐘後),如果我嘗試向上滾動以查看它們,我又一次遇到相同的非常大的CPU使用率。

pythonw.exe的內存使用量一直在15-16 MB左右。

有人可以向我解釋這種行爲 - 顯然這不能是IDLE的一個錯誤,因爲它會被發現......另外,我能做些什麼來抑制這種行爲?我喜歡使用IDLE來處理腳本,例如涉及文件數據轉換的任務。

+0

多大的文件? – delnan 2011-04-28 14:59:00

+0

'130kb',這是在問題中。 – Blender 2011-04-28 15:00:41

+1

您是否遇到過使用std解釋器(python.exe代替使用pythonw.exe的IDLE)的相同行爲? – Xavier 2011-04-28 15:03:46

回答

2

嘗試通過逐行閱讀它:

fid = open('file.txt', 'r') 

for line in fid: 
    print line 

從文檔上Input Output,似乎有兩種方法來讀取文件:

print f.read() # This reads the *whole* file. Might be bad to do this for large files. 

for l in f: # This reads it line by line 
    print l  # and prints it. Might be better for big files. 
+0

好吧,這可能是一個解決方案,但我真的更喜歡在Python中使用列表,而不是循環使用列表。對於真正的大文件,但對於正常的文件,我會使用命令行python.exe,正如我在另一條評論中提到的那樣... – Serafeim 2011-04-28 15:44:39