Python Unzip File: How To Extract Single or Multiple Files
On 9月 24, 2021 by adminPython ZipFile は zip ファイルを読み書きするための zipfile モジュールの一種です。 ZIPは可逆的なデータ圧縮をサポートするアーカイブファイル形式です。
可逆圧縮とは、圧縮アルゴリズムによって、圧縮されたデータから元のデータを完全に復元できることを意味します。
ZIP ファイルは、1 つまたは複数の圧縮ファイルを含む単一のファイルで、大きなファイルを小さくし、関連するファイルをまとめておく簡単な方法を提供します。
Python unzip file
Python を使用して zip ファイルで作業するには、zipfile という python の組み込みモジュールを使用します。 Python の zipfile モジュールでは、ZipFile クラスが ZIP アーカイブの内容をすべて抽出するためのメンバ関数を提供しています。
Pythonでファイルを解凍するには、ZipFile.extractall() メソッドを使用します。
Syntax
ZipFile.extractall(path=None, members=None, pwd=None)
It accepts the following parameters :
- path: zip ファイルを展開する必要のある場所、提供しない場合は、現在のディレクトリの内容を展開します。 この引数が与えられていない場合、zip ファイル内のすべてのファイルを展開します。
- pwd: もし zip ファイルが暗号化されているなら、この引数にパスワードを渡してください。
# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall()
Output
python3 app.py
これは、あなたのプログラミングの app.py ファイルと同じディレクトリにあるファイルを取り出します。
これは、現在のディレクトリの zip にあるすべてのファイルを取り出します。 もし、同じ名前のファイルが既に展開先に存在する場合は、それらのファイルを上書きします。
ファイルを開くために、Pythonのwithステートメントを使用しています。 “Python with “は、プログラムの実行がwith文のコンテキストから離れた後に、開いているファイルディスクリプタが自動的に閉じられることを保証します。
ZIPファイルからすべてのファイルを別のディレクトリに展開する
ZIPファイルからすべてのファイルを別のディレクトリに展開することができますが、そのためにはextractall()の引数として展開先の場所を渡すことが必要です。
# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') print('File is unzipped in temp folder')
ここで、ZipFileオブジェクトはZipFileコンストラクタを呼び出して作られ、Zipファイル名とmodeパラメータを受け取ります。 READ モードで ZipFile オブジェクトを作成し、zipObj.
という名前をつけて出力しています。 もし temp フォルダがなければ、カレントディレクトリにそのフォルダを作成し、Mail3.zip ファイルの内容をすべて解凍します。
Output
python3 app.pyFile is unzipped in temp folder
Extract files from a large zip file based on the condition
例えば、大きな zip ファイルがあって、アーカイブ中の数千個のファイルからいくつかのファイルが必要だったとしましょう。 大きな zip ファイルからすべてのファイルを解凍するには数分かかることがあります。
Python ZipFile クラスは ZIP ファイルから単一のファイルを抽出するメンバ関数を提供します。
ZipFile.extract(member, path=None, pwd=None)
次のコードを参照してください。
Conclusion
Pythonでファイルを解凍することは、Pythonがzipfileモジュールを提供しているので、非常に簡単です。
最後に、Python Unzip: How To Extract Single or Multiple Filesのチュートリアルを終わります。
See Also
Python zip()
Python zip list of lists
Python zip dictionary
Unzip Python tuples
Python list to dataframe
Python list to dictionary
コメントを残す