PythonではZIPファイルの中身を取得することができます。
ZIPファイルの中にあるファイルやフォルダの一覧を取得できます。
今回は、PythonでZIPファイルの中身を取得する方法を解説します。
ZIPファイルの中身を取得する
ZIPファイルを圧縮・解凍する方法はこちらを参照してください。
参考ページ:PythonでフォルダーをZIPファイルへ圧縮する
参考ページ:PythonでZIPファイルを解凍する
ZIPファイルの中身を取得する
import zipfile # ZIPファイルを読み込み zip_f = zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip') # ZIPの中身を取得 lst = zip_f.namelist() # リストから取り出す for fil in lst: print(fil) #[結果] file1.txt #[結果] プログラム一覧.docx # ZIPファイルをクローズ zip_f.close()
ZIPの中身
ここでは「C:\pg\圧縮ファイル.zip」の中身である2つのファイルを取得しました。
zipfileの解説
PythonでフォルダーをZIPファイルへ解凍するには「zipfile」モジュールを使います。ZIPファイルを読み込み、中身を取得するという手順になります。
zipfile.ZipFileの使い方
import zipfile # ZIPファイルを読み込み zip_f = zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip')
最初に「zipfile」をインポートします。
「zipfile.ZipFile」でZIPファイルを読み込みます。「zipfile.ZipFile」の第1パラメータはZIPファイルのパスです。
第2パラメータは編集モードですが、省略すると「r:読み取り」となります。
w | 書き込み |
r | 読み取り |
a | 追記 |
圧縮ファイルの中身を取得する
# ZIPの中身を取得 lst = zip_f.namelist() # リストから取り出す for fil in lst: print(fil) #[結果] file1.txt #[結果] プログラム一覧.docx
「zip_f.namelist」でZIPファイルの中身を取得します。ZIPファイルの中身はリストで取得できるので、リスト型変数から「For in」を使って1つずつファイル名を取り出しました。
withを使うパターン
zipファイルを扱う場合、「with」を使った方が便利です。最後の「close」が必要なく、コードがインデントするため、zipの有効範囲がわかりやすいですね。
「with」を使ったzipファイルの圧縮に変換します。
import zipfile # ZIPファイルを読み込み with zipfile.ZipFile('C:\\pg\\圧縮ファイル.zip') as zip_f: # ZIPの中身を取得 lst = zip_f.namelist() # リストから取り出す for fil in lst: print(fil) #[結果] file1.txt #[結果] プログラム一覧.docx
コチラの書き方の方がいいかもしれません。
参考ページ:https://docs.python.jp/3/library/zipfile.html
PythonでZIPファイルの中身を取得することができました。
以上、PythonでZIPファイルの中身を取得する方法でした。
コメント