找回密码
 立即注册
搜索
到手67.99元!阿里云轻量2核2G云服务器
查看: 22|回复: 0

Python解压/读取zip文件两种常用方法

[复制链接]

709

主题

0

回帖

11

积分

管理员

积分
11
发表于 前天 16:10 | 显示全部楼层 |阅读模式
一、标准库:zipfile(内置,无需额外安装,最常用)
1. 解压整个 zip 压缩包到指定文件夹

  1. import zipfile

  2. # 打开zip文件
  3. zip_path = "test.zip"  # 压缩包路径
  4. extract_dir = "./output"  # 解压目标文件夹

  5. with zipfile.ZipFile(zip_path, 'r') as zf:
  6.     zf.extractall(path=extract_dir)  # 全部解压
复制代码

2. 只解压压缩包里单个文件

  1. import zipfile

  2. with zipfile.ZipFile("test.zip", "r") as zf:
  3.     zf.extract("1.txt", "./output")  # 解压指定文件
复制代码

3. 不解压,直接读取压缩包内文件内容(内存读取)

  1. import zipfile

  2. with zipfile.ZipFile("test.zip", "r") as zf:
  3.     # 读取文本文件
  4.     content = zf.read("demo.txt").decode("utf-8")
  5.     print(content)
复制代码

4. 查看压缩包里所有文件列表

  1. import zipfile

  2. with zipfile.ZipFile("test.zip", "r") as zf:
  3.     print(zf.namelist())  # 返回所有文件/文件夹名称列表
复制代码


二、便捷第三方库:unzip-file(极简写法)

  1. from unzip_file import unzip

  2. unzip("test.zip", output_dir="./output")
复制代码


三、处理带密码加密的 zip

  1. import zipfile

  2. pwd = b"123456"  # 密码转字节
  3. with zipfile.ZipFile("encrypt.zip", "r") as zf:
  4.     zf.extractall(pwd=pwd, path="./output")
复制代码

常用参数说明
'r':只读打开(读取 / 解压)
'w':新建 zip 压缩包(写入)
'a':追加文件到已有压缩包


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|skypiea

GMT+8, 2026-7-30 06:05 , Processed in 0.039972 second(s), 19 queries .

Powered by skypiea

快速回复 返回顶部 返回列表