国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
郯城县| 九龙县| 合作市| 井陉县| 聊城市| 莲花县| 营山县| 长兴县| 韶关市| 朝阳县| 天全县| 夏河县| 黑龙江省| 喜德县| 阿拉善左旗| 云龙县| 台安县| 庆阳市| 合阳县| 乌审旗| 无棣县| 黑水县| 隆林| 永修县| 山西省| 霍州市| 天台县| 阿巴嘎旗| 辽阳县| 凌源市| 平凉市| 平邑县| 石门县| 屯门区| 龙岩市| 河北区| 浦江县| 松江区| 固原市| 纳雍县| 田林县|