谢谢你,斯特拉纳克。
此代码现在有效!
然而,只是有些事情困扰着我。首先,我需要为目录变量使用全局变量,可在提取按钮中重复使用。我不确定(当我开始学习 Python 时)仅将目录声明为全局变量是一个不错的选择。
欢迎任何改进代码的建议:)
# -*- coding: iso-8859-1 -*-
from Tkinter import *
import zipfile,os,tkFileDialog,Tkinter,glob
#déclaration variables fenêtre Tkinter
master = Tk()
master.minsize(800,100)
#création fonction pour bouton d'appel
def callback():
#Ouverture navigateur, choix du dossier qui contient les zips
global directory
directory = tkFileDialog.askdirectory(parent=master,initialdir="/Users/me/Downloads/",title='Please select a directory')
if len(directory) > 0 :
os.chdir(directory)
cwd = os.getcwd()
ExtractButton['state'] = 'active'
#ICI ça marche
def extraction():
#Ne cherche que les fichiers de type *.zip
for ArchivesZip in glob.glob(os.path.join(directory,'*.zip')):
truncated_file = os.path.splitext(os.path.basename(ArchivesZip))[0]
print(truncated_file)
if not os.path.exists(truncated_file):
os.makedirs(truncated_file)
zip_ref = zipfile.ZipFile(ArchivesZip,'r')
zip_ref.extractall(truncated_file)
ExtractButton['state'] = 'disabled'
#Appel des fonctions pour chacun des boutons. Parcourir et Extraire
SelectButton = Button(master, text="Parcourir", command=callback)
ExtractButton = Button(master, text="Extraction", state=DISABLED, command=extraction)
SelectButton.pack()
ExtractButton.pack()
mainloop()