在 Python 中打开一个 Zip 文件而不解压它
Najwa Riyaz
2023年1月30日
2021年7月13日
-
在 Python 中使用
zipfile.ZipFile()
函数打开一个 Zip 文件,而无需临时解压缩它 -
在 Python 中使用
ZipFile.open()
函数打开一个 Zip 文件,而无需临时提取它
本文介绍了如何在 Python 软件中打开 zip 文件而无需临时解压。要打开 zip 文件而不用 Python 临时解压缩它,请使用 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'