當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。