Pythonでは、ZIPファイルを展開するための標準ライブラリが用意されています。以下にその手順を説明します。

まず、zipfileモジュールをインポートします。

import zipfile

次に、解凍したいZIPファイルのパスを指定して、ZipFileオブジェクトを作成します。

zip_path = "path/to/your/zipfile.zip"
with zipfile.ZipFile(zip_path) as z:
    z.extractall()

このコードは、指定したZIPファイルをカレントディレクトリに展開します。

しかし、ZIPファイル内のファイル名が特定のエンコーディング(例えば、Shift_JIS)で保存されている場合、上記のコードだけでは文字化けが発生する可能性があります。そのため、以下のようにファイル名を適切なエンコーディングでデコードする必要があります。

with zipfile.ZipFile(zip_path) as z:
    for info in z.infolist():
        info.filename = info.filename.encode('cp437').decode('cp932')
        z.extract(info)

このコードは、ZIPファイル内の各ファイルのファイル名をCP437としてエンコードし、それをCP932としてデコードします。これにより、ファイル名が正しく展開されます。

以上がPythonでZIPファイルを展開する基本的な方法です。さまざまな状況に対応するためには、エンコーディングの判定や例外処理など、さらなる処理が必要になることもあります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です