1. ホーム 
  2. 備忘録 
  3. Python

zipファイル

zipファイルの使い方

Python で zipファイル を読み書きする方法を以下に記載する

lesson.py

import zipfile

# zipファイルに圧縮する(書き込む)
with zipfile.ZipFile('test.zip', 'w') as z:
    # Zipファイルに含めたいものを一つずつ書かなければいけない
    z.write('test_dir')
    z.write('test_dir/test.txt')

import glob
with zipfile.ZipFile('test.zip', 'w') as z:
    # 特定のディレクトリ以下を全て含めたい場合
    # * が1つだけだと同階層まで、*が2つだと以下の階層も全て、になる
    for f in glob.glob('test_dir/**', recursive=True):
        print(f)
        z.write(f)

# zipファイルを展開する(読み込む)
with zipfile.ZipFile('test.zip', 'r') as z:
    z.extractall('zzz2')

# zipファイルを展開せずに一部を読み込む
with zipfile.ZipFile('test.zip', 'r') as z:
    with z.open('test_dir/test.txt') as f:
        print(f.read())  # b'aaaa'
        # ↑バイナリデータとして返る