作爲新的節目,我與Python玩弄這個腳本:64位Python的原因凍結
import itertools
Lists=list(itertools.permutations(['a','b','c','d','e','f','g','h','i','j','k']))
print(len(Lists))
在32位的Python就會造成內存溢出錯誤。然而,當在64位Python上試用它並觀看任務管理器時,Python使用4 GB內存(我擁有8 GB內存),那麼我的計算機會凍結,我必須重新啓動它。
這是正常的行爲嗎?我該如何解決這個問題,或者限制Python可以訪問多少內存?
此外,如果我把這樣的東西轉換成.exe文件(用這個腳本來測試其他東西)會凍結其他計算機嗎?
謝謝,你的回答很有意義。不應該python提供給我一個溢出錯誤,而不是凍結我的電腦嗎?就像上面的人說的,儘管它並沒有真正回答所問的問題:P感謝無論如何 – NightShade
在Python 3.5上,我得到了使用'getsizeof(permutations)+ sum(getsizeof(p)for)估計的內存使用5.786255888 GB在排列組合)' –
感謝您的建議,我使用Windows 10所以不能使用'ulimit',當我嘗試導入資源我得到模塊找不到錯誤 - 「沒有模塊命名'資源'。」也許我應該防止使用此函數生成超過特定大小的數組? – NightShade