我是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"
此外,它没有压缩。
Python\Dir_dir\Dir_dir
,这是正确的(请参见截图),因为归档文件名应该相对于归档根目录,所以不应该以路径分隔符(或驱动器号)开头。这在文档中有说明,因此我建议您在查看StackOverFlow代码时增加阅读文档的内容。 - martineaur"D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip"
)。否则,Python 将把像 '\t' 和 '\n' 这样的序列转换为制表符和换行符。 - tdelaney