【Python】zipファイルを解凍する方法

目次から探す

解凍時のオプション設定

zipファイルを解凍する際には、いくつかのオプションを設定することができます。

ここでは、解凍時のパスワード設定、ファイルの上書き設定、エラーハンドリングについて説明します。

解凍時のパスワード設定

zipファイルがパスワードで保護されている場合、解凍する前にパスワードを指定する必要があります。

以下のように、ZipFileクラスextractall()メソッドを呼び出す前に、pwdパラメータにパスワードを指定します。


import zipfile
zip_file = zipfile.ZipFile('sample.zip', 'r')
zip_file.extractall(pwd='password')
zip_file.close()

上記の例では、sample.zipという名前のzipファイルを解凍する際に、パスワードとしてpasswordを指定しています。

パスワードが正しい場合にのみ解凍が行われます。

解凍時のファイルの上書き設定

デフォルトでは、解凍時に既に存在するファイルがある場合には上書きされます。

しかし、上書きを避けるためには、ZipFileクラスextractall()メソッドoverwriteパラメータをFalseに設定します。


import zipfile
zip_file = zipfile.ZipFile('sample.zip', 'r')
zip_file.extractall(overwrite=False)
zip_file.close()

上記の例では、解凍時に既に存在するファイルがある場合には上書きせず、エラーが発生します。

解凍時のエラーハンドリング

解凍時にエラーが発生する可能性があるため、適切なエラーハンドリングを行うことが重要です。

以下の例では、try-except文を使用してエラーをキャッチし、エラーメッセージを表示します。


import zipfile
try:
    zip_file = zipfile.ZipFile('sample.lz', 'r')
    zip_file.extractall()
    zip_file.close()
except zipfile.BadZipFile as e:
    print('不正なzipファイルです。')
except zipfile.LargeZipFile as e:
    print('zipファイルが大きすぎます。')
except Exception as e:
    print('予期せぬエラーが発生しました。' + str(e))

上記の例では、BadZipFileLargeZipFileの例外をキャッチして、それぞれ不正なzipファイルと大きすぎるzipファイルのエラーメッセージを表示しています。

また、Exceptionをキャッチすることで、予期せぬエラーに対するエラーメッセージを表示しています。

これらのオプション設定を適切に行うことで、zipファイルの解凍時により柔軟な操作が可能となります。

解凍時のパスワード設定やファイルの上書き設定、エラーハンドリングについて理解し、必要に応じて適切に設定してください。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す