我对Python还不熟悉。我的要求是将源目录中的所有文件压缩到目标目录中。我使用了stackOverFlow中的以下代码。
import zipfile, os
locfile = "D:\Python\Dir_dir\Dir_dir\ABC.txt"
loczip = "D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip"
zip = zipfile.ZipFile (loczip, "w")
zip.write (locfile)
zip.close()
它正在创建一个zip文件,但它包含整个继承的目录结构。除了驱动器(D:/)之外,结构的其余部分将添加到zip。看起来如下: “D:\ Python\Dir_Dir\Dir_dir2\ABC_TEST.zip\Python\Dir_Dir\Dir_Dir\ABC.txt”
但我想: “D:\ Python\Dir_Dir\Dir_dir2\ABC_TEST.zip\ABC.txt”
也不会被压缩。
请大家分享这个问题的解决方案。
谢谢, 亚老鼠
要启用压缩,请在构造函数中指定压缩方法:
我想你是在请求删除zip文件中文件的相对路径。如果你真的想要,你可以写:
但是,这可能是一个坏主意,因为删除所有路径信息将导致命名冲突,如果您压缩两个同名文件。
检查official documentation它可以清楚地解决您的问题。
压缩应该是定义的常量之一,例如,压缩
注意,您还可以在构造函数上指定conmpression类型 将应用于添加到zip存档的所有文件。
文档还包括以下注意事项:存档名称应与存档根目录相关,即它们不应以路径分隔符开头。
另外,如果您只需在任何搜索引擎中输入python zipfile,您就会将官方文档视为第一个链接之一。
相关问题 更多 >
编程相关推荐