所以我在 Python 中使用 zipfile
模块时遇到了问题。目前,当我尝试压缩 KML 文件以创建新的 KMZ 文件时,我缺少最后几行。 KML 有多长似乎并不重要。我认为这是因为 zipfile 没有写入最后一个压缩块。
kmz = zipfile.ZipFile(kmzPath , 'w')
kmz.write(kmlPath, 'CORS.kml', zipfile.ZIP_DEFLATED)
是的,在你问我之前我已经导入了 zlib 来进行压缩。我也尝试在较低级别使用 zlib,但有同样的问题。我被困住了。
有任何想法吗?
最佳答案
确保你打电话
kmz.close()
在
.write(...)
命令之后,否则文件的全部内容不会刷新到磁盘。为了确保这会自动发生,请始终使用 with
上下文管理器,因为在退出循环时文件将被关闭:with zipfile.ZipFile(kmzPath, 'w') as kmz:
kmz.write(kmlPath, 'CORS.kml', zipfile.ZIP_DEFLATED)
关于python - zipfile 将最后几行从我的文件中删除 - 为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25800348/