【发布时间】:2018-12-10 20:28:56
【问题描述】:
我在 Python 2.6 中使用这个基本脚本来压缩目录:
def zipdir(path, ziph):
import os, zipfile
for(dir, _, files) in os.walk(path):
for file in files:
ziph.write(os.path.join(dir, file))
ziph = zipfile.ZipFile(name + '.zip', 'w', zipfile.ZIP_DEFLATED)
path = 'c:/test/directory'
问题出在我的新 zip 文件中。
例如,我要压缩的目标文件夹位于c:/test/directory/myfiles
所以当我压缩它时,而不是得到:file.zip/directory/myfiles,
我有:file.zip/test/directory/myfiles
我不想保留“test”文件夹。
谁能告诉我怎么解决?
【问题讨论】:
-
你试过从
c:test/director中删除test -
你可以改用
shutil.make_archive,像这样使用:shutil.make_archive('c:/temp/compressed', 'zip', base_dir='directory', root_dir='c:/test')。 -
shutil.make_archive 似乎与 Python 2.6 不兼容。
标签: python file-handling python-2.6