Python | zipfile模块
zipfile
是 Python 标准库中的一个模块,用于处理 ZIP 压缩文件格式。它允许你创建、读取和修改 ZIP 文件,以及从中提取文件。ZIP 文件是一种常见的文件归档格式,它可以将多个文件和文件夹压缩成一个单一的文件,以节省存储空间或便于传输。
下面是一些常见的 zipfile
模块用法示例:
- 导入模块:
import zipfile
- 创建 ZIP 文件:
with zipfile.ZipFile('archive.zip', 'w') as zipf:
zipf.write('file1.txt')
zipf.write('file2.txt')
# 添加更多文件...
这会创建一个名为 archive.zip
的 ZIP 文件,并将指定的文件添加到其中。
- 解压 ZIP 文件:
with zipfile.ZipFile('archive.zip', 'r') as zipf:
zipf.extractall('extracted_folder')
这会将 archive.zip
中的所有内容解压到一个名为 extracted_folder
的文件夹中。
- 查看 ZIP 文件内容列表:
with zipfile.ZipFile('archive.zip', 'r') as zipf:
file_list = zipf.namelist()
print(file_list)
这会列出 archive.zip
文件中的所有文件和文件夹的名称。
- 从 ZIP 文件中读取单个文件的内容:
with zipfile.ZipFile('archive.zip', 'r') as zipf:
with zipf.open('file1.txt') as file_in_zip:
content = file_in_zip.read()
print(content)
这会打开 archive.zip
文件中的 file1.txt
并读取其内容。
- 添加文件夹到 ZIP 文件:
with zipfile.ZipFile('archive.zip', 'w') as zipf:
zipf.write('folder_to_add', arcname='new_folder_name')
这会将名为 folder_to_add
的文件夹及其内容添加到 ZIP 文件中,并将其命名为 new_folder_name
。
- 逐个提取文件:
with zipfile.ZipFile('archive.zip', 'r') as zipf:
for file_info in zipf.infolist():
with zipf.open(file_info) as file_in_zip:
content = file_in_zip.read()
print(content)
这会逐个提取 archive.zip
文件中的每个文件,并读取其内容。
zipfile
模块提供了丰富的功能来操作 ZIP 文件,从创建和添加到读取和解压。以上只是一些常见用法示例,你可以根据需要进行更多定制化的操作。