|
|
一、标准库:zipfile(内置,无需额外安装,最常用)
1. 解压整个 zip 压缩包到指定文件夹
- import zipfile
- # 打开zip文件
- zip_path = "test.zip" # 压缩包路径
- extract_dir = "./output" # 解压目标文件夹
- with zipfile.ZipFile(zip_path, 'r') as zf:
- zf.extractall(path=extract_dir) # 全部解压
复制代码
2. 只解压压缩包里单个文件
- import zipfile
- with zipfile.ZipFile("test.zip", "r") as zf:
- zf.extract("1.txt", "./output") # 解压指定文件
复制代码
3. 不解压,直接读取压缩包内文件内容(内存读取)
- import zipfile
- with zipfile.ZipFile("test.zip", "r") as zf:
- # 读取文本文件
- content = zf.read("demo.txt").decode("utf-8")
- print(content)
复制代码
4. 查看压缩包里所有文件列表
- import zipfile
- with zipfile.ZipFile("test.zip", "r") as zf:
- print(zf.namelist()) # 返回所有文件/文件夹名称列表
复制代码
二、便捷第三方库:unzip-file(极简写法)
- from unzip_file import unzip
- unzip("test.zip", output_dir="./output")
复制代码
三、处理带密码加密的 zip
- import zipfile
- pwd = b"123456" # 密码转字节
- with zipfile.ZipFile("encrypt.zip", "r") as zf:
- zf.extractall(pwd=pwd, path="./output")
复制代码
常用参数说明
'r':只读打开(读取 / 解压)
'w':新建 zip 压缩包(写入)
'a':追加文件到已有压缩包
|
|