Python で解凍せずに Zip ファイルを開く
Najwa Riyaz
2023年10月10日
-
Python で
zipfile.ZipFile()
関数を使用して一時的に解凍せずに Zip ファイルを開く -
Python で
ZipFile.open()
関数を使用して一時的に解凍せずに Zip ファイルを開く
この記事では、Python ソフトウェアで一時的に解凍せずに zip ファイルを開く方法について説明します。Python で一時的に解凍せずに zip ファイルを開くには、zipfile
Python ライブラリを使用します。
このために、zipfile
標準ライブラリをインポートします。次に、次のいずれかの機能を使用します。
- 読み取りモードで
zipfile.ZipFile()
関数を使用します。 - 読み取りモードで
ZipFile.open()
関数を使用します。
始める前に、zip ファイルを準備してください。以下の手順に従ってください。
-
次のようにコンテンツを含む
mail.txt
という名前のテキストファイルを準備します。This is from mail.txt
-
mail.txt
ファイルを圧縮します。 -
zip ファイルに
mail.zip
という名前を付けます。
Python で zipfile.ZipFile()
関数を使用して一時的に解凍せずに Zip ファイルを開く
以下は、Python で一時的に解凍せずに zip ファイルを開く方法を示すサンプルプログラムです。次のように、読み取りモードで zipfile.ZipFile()
関数を使用します。
zipfile.ZipFile(file, mode="r")
ここで、file
は次のいずれかです。
- ファイルへのパス(文字列)
- ファイルのようなオブジェクト
- パスのようなオブジェクト
例えば、
import zipfile
archive = zipfile.ZipFile("mail.zip", "r")
# Let us verify the operation..
txtdata = archive.read("mail.txt")
print(txtdata)
出力:
b'This is from mail.txt'
Python で ZipFile.open()
関数を使用して一時的に解凍せずに Zip ファイルを開く
これは、Python で一時的に解凍せずに zip ファイルを開く方法を示す例です。
ここでは、読み取りモードで open()
関数を使用します。
ZipFile.open(name, mode="r")
zip ファイルのメンバーは、バイナリファイルのようなオブジェクトとして扱われます。ここでの name
は次のいずれかになります。
- zip 内のファイルの名前
ZipInfo
オブジェクト
これが例です。
import zipfile
with zipfile.ZipFile("mail.zip") as thezip:
with thezip.open("mail.txt", mode="r") as thefile:
# Let us verify the operation..
print(thefile.read())
出力:
b'This is from mail.txt'