所以我在使用Python中的zipfile
模块时遇到了问题。目前,当我尝试压缩KML文件以创建新的KMZ文件时,我错过了最后几行。 KML有多长并不重要。我认为这是因为zipfile没有写最后一个压缩块。
kmz = zipfile.ZipFile(kmzPath , 'w')
kmz.write(kmlPath, 'CORS.kml', zipfile.ZIP_DEFLATED)
是的,在您要求我导入 zlib 进行压缩之前。我也试过在较低级别使用zlib,但也有同样的问题。我被卡住了。
有什么想法吗?
答案 0 :(得分:3)
确保您致电
kmz.close()
在.write(...)
命令之后,否则文件的全部内容将不会刷新到磁盘。要确保自动发生这种情况,请始终使用with
上下文管理器,因为退出循环时文件将被关闭:
with zipfile.ZipFile(kmzPath, 'w') as kmz:
kmz.write(kmlPath, 'CORS.kml', zipfile.ZIP_DEFLATED)