我對優化內存效率的程序有些新東西,所以這可能看起來有些簡陋:如果我打算向zip中添加數百個文件(可能爲100mb +),哪種方法會更好地保持系統資源可用? (和捕捉)如何以高效的內存方式將大量文件添加到zip中?
下面的zip_queue變量是globbed文件的列表。
我目前的方法:
with zipfile.ZipFile(zip_name, "a", compression=zipfile.ZIP_DEFLATED) as myzip:
for file in zip_queue:
myzip.write(file)
OR這樣:
for file in zip_queue:
with zipfile.ZipFile(zip_name, "a", compression=zipfile.ZIP_DEFLATED) as myzip:
myzip.write(file)
我猜後者將在每次追加文件時刷新的內存,但會打開和關閉ZIP每次都會產生比簡單地保持文件打開更大的內存成本?
謝謝!
什麼是內存分析器說哪些代碼消耗更少的內存和多少數據? – jfs