用Python编写的简单文件压缩工具
发布时间:2023-12-04 12:48:01
以下是一个用Python编写的简单文件压缩工具的代码示例:
import zipfile
import os
def compress_folder(folder_path, output_path):
"""
压缩指定文件夹内的所有文件和子文件夹
:param folder_path: 要压缩的文件夹路径
:param output_path: 压缩文件的输出路径
"""
with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for foldername, subfolders, filenames in os.walk(folder_path):
for filename in filenames:
filepath = os.path.join(foldername, filename)
zipf.write(filepath, os.path.relpath(filepath, folder_path))
def extract_zipfile(zipfile_path, output_path):
"""
解压缩指定的压缩文件到指定的输出路径
:param zipfile_path: 要解压缩的压缩文件路径
:param output_path: 解压缩文件的输出路径
"""
with zipfile.ZipFile(zipfile_path, 'r') as zipf:
zipf.extractall(output_path)
# 使用例子
if __name__ == '__main__':
# 压缩文件夹
folder_path = 'D:/example_folder' # 要压缩的文件夹路径
output_path = 'D:/compressed.zip' # 压缩文件的输出路径
compress_folder(folder_path, output_path)
# 解压缩文件夹
zipfile_path = 'D:/compressed.zip' # 要解压缩的压缩文件路径
output_path = 'D:/extracted_folder' # 解压缩文件的输出路径
extract_zipfile(zipfile_path, output_path)
使用该文件压缩工具非常简单,只需要调用compress_folder()函数压缩指定的文件夹,或者调用extract_zipfile()函数解压缩指定的压缩文件。在使用例子中,只需将folder_path和output_path替换为实际的文件夹路径和输出路径即可。
该脚本利用Python的zipfile模块来进行压缩和解压缩操作。compress_folder()函数使用with zipfile.ZipFile()来创建一个Zip文件,并使用zipf.write()方法将文件夹中的所有文件和子文件夹添加到压缩文件中。extract_zipfile()函数使用with zipfile.ZipFile()来打开压缩文件,并使用zipf.extractall()方法将压缩文件解压缩到指定的输出路径中。
该脚本还使用了Python的os模块来处理文件和文件夹路径,使用os.walk()遍历文件夹中的所有文件和子文件夹,并使用os.path.join()和os.path.relpath()来构建文件的相对路径。
