0

スクリプトで 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()

アドバイスありがとうございます。

4

1 に答える 1

1

コードは問題なく動作していますが、現在の作業ディレクトリにファイルを抽出しています。そのディレクトリが何であるかは、プログラムをどのように開始したかによって異なります。

ほとんどの場合、zip ファイルを抽出するディレクトリを明示的に指定する必要があります。ユーザーが選択するディレクトリは、開始するのに適したポイントです。

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()
于 2013-08-31T09:09:33.000 に答える