Pythonのzipfileでzipファイル内の指定したファイルの情報(ファイル名・モード・ファイルサイズ)を取得する方法

Pythonのzipfileモジュールを使用して、ZIPファイル内の指定したファイルの情報(ファイル名、モード、ファイルサイズなど)を取得するには、ZipFileオブジェクトのgetinfo()メソッドを使用します。以下は、指定したファイルの情報を取得する方法の例です:

python
import zipfile # ZIPファイルの名前 zip_file_name = 'ファイル.zip' # 情報を取得したいファイルの名前 file_to_get_info = 'ファイル1.txt' # ZIPファイルを読み込む with zipfile.ZipFile(zip_file_name, 'r') as zipf: try: # 指定したファイルの情報を取得 file_info = zipf.getinfo(file_to_get_info) # 取得した情報を表示 print(f'ファイル名: {file_info.filename}') print(f'モード: {file_info.external_attr >> 16 & 0o777:04o}') # モードの部分を抽出 print(f'ファイルサイズ: {file_info.file_size} バイト') except KeyError: print(f'{file_to_get_info} はZIPファイル内に存在しません')

このコードでは、zipfile.ZipFileを使用してZIPファイルを読み込み、getinfo()メソッドを使用して指定したファイルの情報を取得します。取得した情報を表示します。ただし、ファイルがZIPファイル内に存在しない場合に備えて、tryexceptブロックを使用してエラーを処理しています。

コードを実行する前に、zip_file_nameに対象のZIPファイルの名前を設定し、file_to_get_infoに情報を取得したい特定のファイルの名前を設定してください。取得した情報を必要に応じて適切に処理できます。