我使用python來重寫幾百MB的文件。它非常快。我的Mac內存是16 GB 1600 MHz DDR3,處理器是2.5 GHz Intel Core i7。如何在python中替換大數據後釋放內存?
但是,這是問題所在。當我想重寫另一個文件。突然間,我甚至無法流利地打開擁有幾百MB數據的文件。處理過程非常緩慢。
是不是因爲我沒有發佈內存?爲什麼我的Mac變得如此緩慢,即使在我重寫了一些文件之後打開一個文件?
僅供參考,我用textmate編寫python。我對Python非常陌生。
我使用python來重寫幾百MB的文件。它非常快。我的Mac內存是16 GB 1600 MHz DDR3,處理器是2.5 GHz Intel Core i7。如何在python中替換大數據後釋放內存?
但是,這是問題所在。當我想重寫另一個文件。突然間,我甚至無法流利地打開擁有幾百MB數據的文件。處理過程非常緩慢。
是不是因爲我沒有發佈內存?爲什麼我的Mac變得如此緩慢,即使在我重寫了一些文件之後打開一個文件?
僅供參考,我用textmate編寫python。我對Python非常陌生。
Python內置了垃圾回收器,可以自動釋放您不再需要的變量所使用的內存。所以,應該不是是內存問題。
但是,如果你沒有關閉這些文件,它們仍然是打開的,它們的一些內容在內存中(Python解釋器認爲你會使用它們)。
首先,檢查是否你正確地關閉您的文件
f=open("file.txt")
a=f.read()
f.close()
甚至更好
with open("file.txt") as input:
data=input.read()
這裏,文件的自動關閉。
如果你的一些變量變得非常大,你可以手動刪除它:del data
我甚至重新啓動了我的Mac,但它仍然非常緩慢。昨晚我花了整整一晚的時間來重寫數據。現在我試了你的代碼,沒有結果。它似乎恢復了 –
哪裏碼? –
你在寫完文件後關閉了這些文件嗎? – DJanssens
對不起,我的水晶球已經不能修復了...但是如果你發佈你的代碼,我們可能有機會發現問題。 –