欢迎访问宙启技术站
智能推送

使用Python中的src(源码)创建一个用于文件压缩的工具。

发布时间:2023-12-18 02:21:05

要创建一个文件压缩工具,你可以使用Python的zipfile模块。zipfile模块提供了压缩和解压缩文件的功能。

下面是一个使用示例,该示例创建一个名为zip_tool.py的Python脚本,用于将指定的文件夹压缩成一个ZIP文件。

import os
import zipfile

def compress_folder(src_folder, zip_path):
    # 遍历源文件夹
    with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, dirs, files in os.walk(src_folder):
            for file in files:
                file_path = os.path.join(root, file)
                # 将文件添加到ZIP文件中
                zipf.write(file_path, os.path.relpath(file_path, src_folder))

# 使用示例
if __name__ == '__main__':
    src_folder = '/path/to/src_folder'  # 源文件夹的路径
    zip_path = '/path/to/zipfile.zip'  # 压缩文件的路径

    compress_folder(src_folder, zip_path)
    print(f'压缩完成!压缩文件路径为: {zip_path}')

在示例中,我们首先导入了oszipfile模块。然后,我们定义了compress_folder函数,该函数使用zipfile模块将指定文件夹压缩成一个ZIP文件。函数接受两个参数:src_folder表示源文件夹的路径,zip_path表示压缩文件的路径。在函数内部,我们使用zipfile.ZipFile创建了一个ZIP文件对象,并使用with语句确保在使用完毕后自动关闭。

然后,我们使用os.walk遍历源文件夹中的所有文件和文件夹。对于每个文件,我们将其路径添加到ZIP文件中,并使用os.path.relpath将路径转换为相对于源文件夹的相对路径。

最后,我们在__main__块中使用示例路径调用compress_folder函数,并打印压缩文件的路径。

你可以将源代码保存到一个名为zip_tool.py的文件中,并用你想要压缩的文件夹的实际路径替换示例中的src_folderzip_path。然后,运行脚本,它将压缩指定的文件夹,并在完成后打印压缩文件的路径。