Python 2.7でzipファイルの内容を特定のディレクトリに抽出する 質問する

Python 2.7でzipファイルの内容を特定のディレクトリに抽出する 質問する

これは、スクリプトと同じ現在の作業ディレクトリにある zip ファイルを抽出するために現在使用しているコードです。抽出先の別のディレクトリを指定するにはどうすればよいでしょうか?

試したコードでは、必要な場所に抽出されません。

import zipfile

fh = open('test.zip', 'rb')
z = zipfile.ZipFile(fh)
for name in z.namelist():
    outfile = open(name, 'wb')
    outfile.write('C:\\'+z.read(name))
    outfile.close()
fh.close()

ベストアンサー1

ちょっと混乱しているだけだと思います。おそらく次のようになるはずです:

import zipfile

fh = open('test.zip', 'rb')
z = zipfile.ZipFile(fh)
for name in z.namelist():
    outpath = "C:\\"
    z.extract(name, outpath)
fh.close()

すべてのファイルを抽出したいだけの場合は、次のようにします。

import zipfile

with zipfile.ZipFile('test.zip', "r") as z:
    z.extractall("C:\\")

Pythonの最新バージョンの場合はpip install zipfile36を使用してください。

import zipfile36

おすすめ記事