最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
怀来县| 正安县| 娄底市| 布拖县| 东丰县| 阿拉尔市| 银川市| 新野县| 信丰县| 九龙城区| 叙永县| 武川县| 贵德县| 武冈市| 锡林浩特市| 盈江县| 周宁县| 天气| 积石山| 和龙市| 马公市| 洞口县| 中方县| 芷江| 中阳县| 秭归县| 天水市| 肇州县| 蓬溪县| 永德县| 阿鲁科尔沁旗| 扎囊县| 海兴县| 盱眙县| 威海市| 紫金县| 嘉峪关市| 游戏| 台中市| 民乐县| 萨迦县|