【笔记】Python3压缩和解压缩

前言

Python3利用zipfile模块实现压缩和解压缩操作

引入依赖

1
import zipfile

压缩

<file_after>.zip:压缩后的文件名
mode=""":读写模式

r:缺省值,读
w:覆盖写入
a:追加写入
x:可执行
<file_before>:添加到压缩文件的文件

1
2
3
4
# 创建压缩对象
with zipfile.Zipfile("<file_after>.zip", mode="w") as zip_obj:
# 将文件添加到压缩文件
zip_obj.write("<file_before>")

解压缩

解压指定文件

<file>.zip:需要操作的压缩文件
<filename>:压缩包内,需要解压的文件名或文件对象
<dir>:解压的位置,绝对路径或相对路径

1
2
3
# 创建压缩对象
with zipfile.Zipfile("<file>.zip", mode="r") as zip_obj:
zip_obj.extract("<filename>", "<dir>")

解压所有文件

<file>.zip:需要操作的压缩文件
<dir>:解压的位置,绝对路径或相对路径

1
2
3
# 创建压缩对象
with zipfile.Zipfile("<file>.zip", mode="r") as zip_obj:
zip_obj.extractall("<dir>")

查看压缩文件的内容

<file>.zip:需要操作的压缩文件

1
2
3
# 创建压缩对象
with zipfile.Zipfile("<file>.zip", mode="r") as zip_obj:
print(zip_obj.namelist())

Windows解决中文乱码

1
2
3
4
# 创建压缩对象
with zipfile.Zipfile("<file>.zip", mode="r") as zip_obj:
for file_name in zip_obj.namelist():
file_name = file_name.encode("cp437").decode("utf-8")

完成

参考文献

哔哩哔哩——千锋教育