我正在尝试让Python解压缩我文件夹中的所有文件,但我希望将它们保存在一个新解压缩的文件夹中,该文件夹与它们来自的zip文件夹同名。
例如,如果我的文件夹“Met”有两个zip文件夹:
folder1.zip:file1
folder2.zip:file2
我希望这些文件最终如下:
的Met \ folder1中\文件1
的Met \文件夹2 \ 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")
答案 0 :(得分:2)
首先,修复您的dir_name
表达,因为它当前无法正常工作,因为它将u
的第一个字母传递给splitext
,而不是取u
的基数
dir_name = os.path.splitext(u)[0]
然后,将额外的path
参数传递给extractall
zipfile.ZipFile.extractall(path=dir_name)
如果dir_name
不存在,则创建它(使用Python 3.4测试)。