日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python压缩、减压7z文件

發(fā)布時(shí)間:2023/12/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python压缩、减压7z文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python壓縮、減壓7z文件

    • py7zr簡(jiǎn)介
    • 安裝
    • 解壓文件
    • 壓縮、歸檔

py7zr簡(jiǎn)介

py7zr 是一個(gè)由Python編程語(yǔ)言編寫(xiě)的7zip存檔壓縮、解壓縮、加密和解密的庫(kù)和實(shí)用程序。要求的最低版本是Python 3.6。

支持的算法:

  • compress
    • LZMA2
    • LZMA
    • Bzip2
    • Deflate
    • Copy
    • ZStandard
    • Brotli
    • Deflate64 (Decompression only)
    • PPMd (Experimental)
  • crypt
    • 7zAES
  • Filters
    • Delta
    • BCJ(X86,ARMT,ARM,PPC,SPARC,IA64)

安裝

可以直接使用pip進(jìn)行安裝py7zr:

pip install py7zr

或者使用conda:

conda install -c conda-forge py7zr

解壓文件

下面是一段代碼片段,介紹如何解壓文檔中的一些文件:

import py7zrarchive = py7zr.SevenZipFile('sample.7z', mode='r') archive.extractall(path="/tmp") archive.close()

py7zr (v0.6及更高版本) 也提供了上下文管理,所以可以使用 with 代碼塊:

import py7zrwith py7zr.SevenZipFile('sample.7z', mode='r') as z:z.extractall()with py7zr.SevenZipFile('target.7z', 'w') as z:z.writeall('./base_dir')

py7zr 還支持提取單個(gè)或通過(guò) extract(targets=[‘file path’]) 選定的多個(gè)文件。注意:如果只指定文件而不指定父目錄,將會(huì)提取失敗。

import py7zr import refilter_pattern = re.compile(r'<your/target/file_and_directories/regex/expression>') with SevenZipFile('archive.7z', 'r') as archive:allfiles = archive.getnames()selective_files = [f for f in allfiles if filter_pattern.match(f)]archive.extract(targets=selective_files)

py7zr(v0.6及更高版本)支持提取受密碼保護(hù)的歸檔文件。

import py7zrwith py7zr.SevenZipFile('encrypted.7z', mode='r', password='secret') as z:z.extractall()

壓縮、歸檔

下面是一段如何生成歸檔文件的事例代碼。

import py7zrwith py7zr.SevenZipFile('target.7z', 'w') as archive:archive.writeall('/path/to/base_dir', 'base')

要?jiǎng)?chuàng)建加密存檔,請(qǐng)傳遞密碼。

import py7zrwith py7zr.SevenZipFile('target.7z', 'w', password='secret') as archive:archive.writeall('/path/to/base_dir', 'base')

要使用zstandard等算法創(chuàng)建存檔,可以使用自定義過(guò)濾器調(diào)用。

import py7zrmy_filters = [{"id": py7zr.FILTER_ZSTD}] another_filters = [{"id": py7zr.FILTER_ARM}, {"id": py7zr.FILTER_LZMA2, "preset": 7}] with py7zr.SevenZipFile('target.7z', 'w', filters=my_filter) as archive:archive.writeall('/path/to/base_dir', 'base')

總結(jié)

以上是生活随笔為你收集整理的Python压缩、减压7z文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。