使用Python编写一个简单的文件压缩程序
发布时间:2023-12-04 11:10:46
下面是一个使用Python编写的简单文件压缩程序的示例代码:
import zipfile
import os
def compress_folder(folder_path, output_path):
# 创建一个ZipFile对象来存储压缩文件
zip_obj = zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED)
# 遍历文件夹中的所有文件和子文件夹
for root, dirs, files in os.walk(folder_path):
for file in files:
# 构造文件的完整路径
file_path = os.path.join(root, file)
# 将文件添加到压缩文件中
zip_obj.write(file_path, os.path.relpath(file_path, folder_path))
# 完成压缩并关闭ZipFile对象
zip_obj.close()
def extract_zip(zip_path, output_folder):
# 创建一个ZipFile对象来打开压缩文件
zip_obj = zipfile.ZipFile(zip_path, 'r')
# 将压缩文件解压到指定的文件夹中
zip_obj.extractall(output_folder)
# 关闭ZipFile对象
zip_obj.close()
# 使用例子
folder_to_compress = '/path/to/folder' # 需要压缩的文件夹路径
compressed_file = '/path/to/compressed.zip' # 压缩文件的输出路径
compress_folder(folder_to_compress, compressed_file)
zip_to_extract = '/path/to/compressed.zip' # 需要解压的压缩文件路径
output_folder = '/path/to/extracted' # 解压输出的文件夹路径
extract_zip(zip_to_extract, output_folder)
上述代码中,compress_folder函数用于压缩指定文件夹,extract_zip函数用于解压指定压缩文件,你可以根据需要调用这两个函数。在使用例子中,我们首先压缩了一个文件夹到指定的压缩文件中,然后将压缩文件解压到指定文件夹中。你需要修改folder_to_compress、compressed_file、zip_to_extract和output_folder变量的值来适应你的实际需求。
