【发布时间】:2014-04-21 14:35:22
【问题描述】:
我对优化程序以提高内存效率有点陌生,所以这似乎有点初级:如果我打算将数百个文件(可能 100mb+)添加到一个 zip 中,哪种方法可以更好地保持系统资源可用? (以及捕捉)
下面的 zip_queue 变量是一个全局文件列表。
我目前的方法:
with zipfile.ZipFile(zip_name, "a", compression=zipfile.ZIP_DEFLATED) as myzip:
for file in zip_queue:
myzip.write(file)
或者这样:
for file in zip_queue:
with zipfile.ZipFile(zip_name, "a", compression=zipfile.ZIP_DEFLATED) as myzip:
myzip.write(file)
我猜后者会在每次附加文件时刷新内存,但每次打开和关闭 zip 会比简单地保持文件打开产生更大的内存成本吗?
谢谢!
【问题讨论】:
-
内存分析器说明哪些代码消耗的内存较少以及您的数据消耗了多少?
标签: python performance memory python-3.x zipfile