extractall()方法在Python2.7上不起作用

2024-09-27 21:34:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让一个脚本能够打开一个窗口,选择一个目录。在这个文件夹中选择几个*.zip文件并将它们解压缩。在

我的代码不会给我错误,但也不会解压缩文件。我在python2.7中使用extractall()方法

import zipfile,os,tkFileDialog,Tkinter,glob

root = Tkinter.Tk()
directory = tkFileDialog.askdirectory(parent=root,initialdir="/Users/me/zips",title='Please select a directory')
if len(directory) > 0 :
    print ("Dossier OK")


for ArchivesZip in glob.glob(os.path.join(directory,'*.zip')):
    print ArchivesZip
    zip_ref = zipfile.ZipFile(ArchivesZip, 'r')
    zip_ref.extractall()
    zip_ref.close()

非常感谢你的建议。在


Tags: 目录脚本文件夹refostkinterrootzip
1条回答
网友
1楼 · 发布于 2024-09-27 21:34:29

您的代码运行正常,但您正在将文件解压缩到当前工作目录。这个目录是什么取决于你如何启动你的程序。在

您很可能希望显式地指定一个目录来提取zipfile。用户选择的目录是一个很好的起点:

for ArchivesZip in glob.glob(os.path.join(directory,'*.zip')):
    print ArchivesZip
    zip_ref = zipfile.ZipFile(ArchivesZip, 'r')
    zip_ref.extractall(directory)
    zip_ref.close()

相关问题 更多 >

    热门问题