提问人:skrhee 提问时间:9/30/2017 更新时间:9/30/2017 访问量:898
如何在 Python 中解压缩文件但保留 Zip 文件夹
How to Unzip files in Python but Keep Zip Folder
问:
我正在尝试让 Python 解压缩我文件夹中的所有文件,但我希望它将它们保存在新解压缩的文件夹中,该文件夹与它们来自的 zip 文件夹同名。
例如,如果我的文件夹“Met”有两个 zip 文件夹:
文件夹 1 .zip:文件 1
文件夹 2.zip:文件2
我希望文件最终如下:
Met\folder1\file1
Met\folder2\file2
目前,该程序将这两个文件都放在 Met 文件夹中:
Met\file1 和 file2
#Unzip all zip files
zip_files = glob.glob(r"C:\Users\simon.rhee\Desktop\Met\*.zip")
i = 1
for u in zip_files:
dir_name = os.path.splitext(u[0])
zip_handler = zipfile.ZipFile(u,"r")
zip_handler.extractall()
print("Unzipping File #",i,"Complete")
答:
3赞
Jean-François Fabre
9/30/2017
#1
首先,修复您的表达式,因为它当前无法正常工作,因为它传递了 to 的第一个字母,而不是取dir_name
u
splitext
u
dir_name = os.path.splitext(u)[0]
然后,将额外的参数传递给path
extractall
zipfile.ZipFile.extractall(path=dir_name)
如果不存在,则创建它(使用 Python 3.4 进行测试)。dir_name
评论
extractall
zip_handler.extractall("foo/bar/spam")