====== ファイルの圧縮と解凍 ====== [[:python|一つ上へ]] ===== ZIPファイルの解凍 ===== zipファイルを解凍するにはzipfileモジュールを使用する。 流れは - with でzipファイルを読み取り専用で開く。 - infolist()で中のデータのリストを取得する。 - リストでループし、それぞれのファイルを指定してターゲットのディレクトリに解凍する。 target_dir = "ファイルを解凍したいディレクトリ" try: with zipfile.ZipFile(zip_dst, 'r') as zip_ref: for info in zip_ref.infolist(): info.filename = info.filename.encode('cp437').decode('cp932') zip_ref.extract(info, target_dir, pwd=password.encode()) print(f'ファイル=>{info}') except zipfile.BadZipFile: print("不正なZIPファイル") except RuntimeError as e: print(f"解凍エラー:{e}") ===== gzipファイルの解凍 ===== # ワークフォルダにあるgzipファイルを解凍する。 input_file_name = target_path.joinpath("input.txt.gz") output_file_name = target_path.joinpath(f"output.txt") with gzip.open(input_file_name, 'rb') as f_in: with open(output_file_name, "wb") as f_out: f_out.writelines(f_in)