Pythonでは、ZIPファイルを開いてその内容を読み込むための便利なモジュールがあります。その名も zipfile.ZipFile。このクラスは、ZIPへのファイル読み込み・書き込みに便利です。

zipfile.ZipFileの基本的な使い方

まずは、ZIPファイルを開いてファイルを一覧表示する基本的なコード例を見てみましょう。

from zipfile import ZipFile

with ZipFile('hoge.zip', 'r') as zip:
    print(zip.namelist())

このコードは、'hoge.zip'というZIPファイルを読み込みモード(’r’)で開き、その中に含まれる全てのファイルの一覧を表示します。

ファイルの読み込み

次に、ZIPファイル内の特定のファイルを読み込む方法を見てみましょう。

import os
import zipfile

with zipfile.ZipFile('archive.zip') as z:
    for filename in z.namelist():
        if not os.path.isdir(filename):
            with z.open(filename) as f:
                for line in f:
                    print(line.decode('utf-8'))

このコードは、ZIPファイル内の各ファイルを開き、その内容を行ごとに表示します。ただし、ディレクトリは無視されます。

注意点

しかし、zipfile.ZipFileの使い方にはいくつか注意点があります。

  1. ZIP内の絶対パスは / から始まらない
  2. バイナリファイル読み込みは read() を使う
  3. テキストファイル読み込みは open() を使う
  4. バイナリファイル追加は write/writestr を使う

これらの注意点を理解しておけば、PythonでZIPファイルを扱う際にハマることが少なくなるでしょう。

以上、PythonでZIPファイルを開き、その内容を読み込む方法について説明しました。この情報がPythonでのファイル操作に役立つことを願っています。

投稿者 admin

コメントを残す

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