use*_*058 0 python compression zip
我是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()
Run Code Online (Sandbox Code Playgroud)
它正在创建一个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"
它也没有压缩.
请有人分享这个问题的解决方案.
谢谢,Subrat
要启用压缩,请在构造函数中指定压缩方法:
zip = zipfile.ZipFile(loczip, "w", zipfile.ZIP_DEFLATED)
Run Code Online (Sandbox Code Playgroud)
我想你要求删除zip文件中文件的相对路径.如果你真的想要那个,你可以写:
zip.write(locfile, os.path.basename(locfile))
Run Code Online (Sandbox Code Playgroud)
但是,这可能是一个坏主意,因为如果您压缩两个具有相同名称的文件,删除所有路径信息将导致命名冲突.
| 归档时间: |
|
| 查看次数: |
9659 次 |
| 最近记录: |