【发布时间】:2017-05-18 00:47:51
【问题描述】:
我正在尝试使用 python zipfile 模块压缩文件夹中的所有文件(该文件夹没有任何子目录),但似乎无法获得所需的输出。
我有folderA 坐在F:\Projects\ProjectA\Folders\folderA and my script under F:\Projects\ProjectA\CodeA\zipcode.py 下。我想压缩文件夹 A 中的所有文件,以便生成的 zip 文件在 F:\Projects\ProjectA\Folders 下命名为 folderA.zip 并使用原始文件名。
唯一的问题是解压缩结果会产生 Folders\folderA 而不仅仅是 folderA。它与文件夹 A 到脚本的相对路径有关,但我似乎无法获得所需的结果。
#zipcode.py
import os
import zipfile
filepath = "F:/Projects/ProjectA/Folders/folderA"
archive = zipfile.ZipFile(os.path.abspath(filepath) + '.zip', 'w')
for root, dirs, files in os.walk(filepath):
for afile in files:
archive.write(os.path.relpath(os.path.join(root, afile)))
archive.close()
【问题讨论】: