使用Python进行文件压缩和解压缩
发布时间:2023-12-04 15:55:02
在Python中,我们可以使用zipfile模块对文件进行压缩和解压缩操作。该模块提供了压缩和解压缩zip格式文件的功能,同时也支持其他常见的压缩格式。
以下是使用Python进行文件压缩和解压缩的示例代码:
### 文件压缩
import zipfile
def compress_files(file_paths, zip_file_name):
# 创建一个ZipFile对象,用于写入并压缩文件
with zipfile.ZipFile(zip_file_name, 'w') as zipf:
# 遍历文件列表
for file in file_paths:
# 将文件添加到压缩文件
zipf.write(file)
print('文件压缩完成')
# 定义要压缩的文件列表
files_to_compress = ['file1.txt', 'file2.jpg', 'folder/file3.png']
# 定义压缩文件名
compressed_file_name = 'compressed_files.zip'
# 调用压缩函数
compress_files(files_to_compress, compressed_file_name)
在上述代码中,我们定义了一个名为compress_files的函数,该函数接受一个文件路径列表和一个压缩文件名作为输入。函数内部使用zipfile.ZipFile创建一个ZipFile对象,然后遍历文件列表将所有文件添加到该对象中,最后使用close方法关闭文件。完成压缩后,会输出"文件压缩完成"。
### 文件解压缩
import zipfile
def decompress_files(zip_file_name, output_folder):
# 创建一个ZipFile对象,用于读取并解压文件
with zipfile.ZipFile(zip_file_name, 'r') as zipf:
# 解压缩文件到指定目录
zipf.extractall(output_folder)
print('文件解压缩完成')
# 定义要解压缩的压缩文件名
compressed_file_name = 'compressed_files.zip'
# 定义解压缩输出目录
output_folder = 'output'
# 调用解压缩函数
decompress_files(compressed_file_name, output_folder)
在上述代码中,我们定义了一个名为decompress_files的函数,该函数接受一个压缩文件名和一个输出目录作为输入。函数内部使用zipfile.ZipFile创建一个ZipFile对象,然后使用extractall方法将压缩文件解压缩到指定目录。完成解压缩后,会输出"文件解压缩完成"。
以上是基本的文件压缩和解压缩的示例代码,你可以根据实际情况进行修改和扩展。在使用zipfile模块时,还可以设置压缩级别、密码等参数,具体可以参考官方文档。
