无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

003. Python 操作 ZIP 標(biāo)準(zhǔn)庫:zipfile

2023-01-04 12:26 作者:姚千山  | 我要投稿

ZIP 文件格式是一個常用的歸檔與壓縮標(biāo)準(zhǔn),在 Windows、Linux、MacOS 等多種操作系統(tǒng)中都有原生支持。Python 標(biāo)準(zhǔn)庫提供了?zipfile?模塊,可以用來操作 ZIP 文件,提供了創(chuàng)建、打開、讀取、寫入、添加及列出 ZIP 文件的工具。?

優(yōu)點:

  • 功能強大:zipfile 庫提供了豐富的接口,可以方便地操作?ZIP 格式壓縮文件。

  • 使用方便:zipfile?庫是 Python 標(biāo)準(zhǔn)庫,開箱即用,文檔齊全。

  • 速度較快:關(guān)鍵部分代碼使用 C 實現(xiàn),速度高于原生?Python。

  • 大文件支持:它可以處理使用?ZIP64 擴展(超過 4 GB 的 ZIP 文件)的 ZIP 文件。

缺點:

  • 不支持分卷文件:截止目前(Python 3.11),不能處理分卷?ZIP?文件。

  • 不支持加密:支持解密 ZIP 歸檔中的加密文件,但是目前不能創(chuàng)建一個加密的文件。

  • 解密很慢:解密非常慢,因為它是使用原生?Python?而不是 C 實現(xiàn)的。

使用(Python 3.10.0)

1.創(chuàng)建

首先,需要先創(chuàng)建測試文件夾與文件:

再將多個文件壓縮到一個 ZIP 文件中:

添加壓縮文件方法為?zipfile.write(filename[, arcname[, compress_type]]),acrname 是壓縮文件中該文件的名字,默認(rèn)情況下和 filename 一樣。compress_type 的存在是因為 ZIP 文件允許被壓縮的文件可以有不同的壓縮類型。

2.讀取

與創(chuàng)建?ZIP 文件類似,僅需將 zipfile.ZipFile 的第二個參數(shù) mode 改為?'r' 即可。mode 和一般的文件操作一樣,'r' 表示打開一個存在的只讀 ZIP 文件;'w' 表示清空并打開一個只寫的 ZIP 文件,或創(chuàng)建一個只寫的 ZIP 文件;'a' 表示打開一個 ZIP 文件,并添加內(nèi)容。一般使用上下文管理器方式打開?ZIP 文件,使用

讀取?ZIP 中文件:

3.校驗

使用?zipfile.is_zipfile(filename)?函數(shù)來檢測一個文件是否為 ZIP 文件。根據(jù)文件的 Magic Number(ZIP?文檔開頭為[PK] ,源于ZIP之父 Phil Katz 名字的首字母),如果是一個有效的 ZIP 文件則返回?True,否則返回?False。?

如果需要進一步檢測 ZIP 文件的內(nèi)部結(jié)構(gòu)是否正確,還可以先打開 ZIP 文件,再使用?testzip 方法來檢測 ZIP 文件中是否有損壞的文件。

該方法會讀取?ZIP 中的所有文件并檢查它們的 CRC 和文件頭。如果 ZIP 文件中有損壞的文件, 會返回第一個已損壞文件名稱。如果 ZIP 文件完整無損,則會返回 None。

4.提取

zipfile 中提供了便捷的接口,可以方便快捷地從 ZIP 文件中提取所需的文件:

當(dāng)然,zipfile 還有不少其他方法,但用途有限,就不一一列舉了。

以上,完結(jié)撒花!

延伸閱讀

  1. Python 標(biāo)準(zhǔn)庫 zipfile:https://docs.python.org/zh-cn/3/library/zipfile.html

  2. Python Zipfile:https://zhuanlan.zhihu.com/p/301257655


003. Python 操作 ZIP 標(biāo)準(zhǔn)庫:zipfile的評論 (共 條)

分享到微博請遵守國家法律
舒兰市| 吉木萨尔县| 沙田区| 江川县| 克山县| 义马市| 安岳县| 顺平县| 肇州县| 蒙山县| 英吉沙县| 阿拉善盟| 德江县| 静安区| 江都市| 修文县| 永修县| 英超| 泰顺县| 仁化县| 麻阳| 长葛市| 南澳县| 洪湖市| 琼中| 志丹县| 内黄县| 堆龙德庆县| 达尔| 武隆县| 库车县| 尼木县| 怀宁县| 和田县| 文成县| 古交市| 海安县| 都昌县| 泰安市| 利津县| 辰溪县|