我正在尝试使脚本能够打开tkinter窗口,选择一个目录。在此文件夹中选择几个* .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()
非常感谢您的建议。
答案 0 :(得分:0)
您的代码运行正常,但您正在将文件解压缩到当前工作目录。该目录的内容取决于您启动程序的方式。
您很可能希望显式指定要将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()