当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python zipfile.ZipFile.open用法及代码示例


用法:

ZipFile.open(name, mode='r', pwd=None, *, force_zip64=False)

以二进制 file-like 对象的形式访问存档的成员。 name 可以是存档中的文件名或ZipInfo 对象。 mode 参数(如果包含)必须是 'r'(默认值)或 'w'pwd 是用于解密加密 ZIP 文件的密码。

open() 也是一个上下文管理器,因此支持 with 语句:

with ZipFile('spam.zip') as myzip:
    with myzip.open('eggs.txt') as myfile:
        print(myfile.read())

对于mode 'r',file-like 对象 (ZipExtFile) 是只读的,并提供以下方法。 read()readline()readlines()seek()tell()__iter__()__next__()。这些对象可以独立于ZipFile 运行

使用 mode='w' ,返回一个可写的文件句柄,它支持 write() 方法。打开可写文件句柄时,尝试读取或写入 ZIP 文件中的其他文件将引发 ValueError

写入文件时,如果事先不知道文件大小但可能超过2GiB,则通过force_zip64=True来保证header格式能够支持大文件。如果事先知道文件大小,则构造一个带有file_size 集的ZipInfo 对象,并将其用作name 参数。

注意

open()read()extract() 方法可以采用文件名或 ZipInfo 对象。当您尝试读取包含具有重复名称的成员的 ZIP 文件时,您会意识到这一点。

在 3.6 版中更改:删除了对mode='U'.采用io.TextIOWrapper用于读取压缩文本文件通用换行符模式。

在 3.6 版中更改:open现在可用于将文件写入存档mode='w'选项。

在 3.6 版中更改:调用zipfile.ZipFile.open在关闭的 ZipFile 上将引发ValueError.此前,一个RuntimeError被提出。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 zipfile.ZipFile.open。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。