Python 压缩打包文件/文件夹的方法
更新时间:2023年12月04日 08:27:14 作者:gongzairen
本文主要介绍了Python 压缩打包文件/文件夹的方法,分两种类型处理,打包文件是需要传入文件的路径,打包文件夹是传入文件夹的路径,感兴趣的可以了解一下
介绍
实现压缩打包文件/文件夹的方法,分两种类型处理,打包文件是需要传入文件的路径,打包文件夹是传入文件夹的路径
实现压缩打包的代码
import os import shutil from zipfile import ZipFile # 压缩打包文件 def compress_pack_file(zip_path, compress_type="file", file_path_list=[], folder_path=""): """ 传入的是文件路径列表则压缩指定文件,传入的是文件夹则压缩该文件夹 :param zip_path: 需要写入的zip文件路径 :param compress_type: 压缩的类型:"file":压缩指定文件;"folder":压缩文件夹 :param file_path_list: 文件路径列表 :param folder_path: 文件夹路径 :return: """ data_dict = {"data": "", "warning_info": "", "error_info": "", } try: if compress_type == "file": if not len(file_path_list): data_dict["error_info"] = "没有文件需要压缩打包" return data_dict with ZipFile(zip_path, 'w') as zip_file: for file_path in file_path_list: if os.path.exists(file_path): file_name = os.path.basename(file_path) zip_file.write(file_path, file_name) else: data_dict["warning_info"] += f"【{file_path}】无法压缩打包" + "\n" elif compress_type == "folder": if zip_path == folder_path: data_dict["error_info"] = "不能压缩打包" return data_dict file_name_without_ext = os.path.splitext(zip_path)[0] shutil.make_archive(file_name_without_ext, 'zip', folder_path) else: data_dict["error_info"] = f"所选压缩打包类型无效" except Exception as e: data_dict["error_info"] = f"执行压缩打包失败" print(e) return data_dict if __name__ == '__main__': f_path = r"D:\BusinessProject\结果文件\2023-12-01" z_p = r"D:\BusinessProject\结果文件\2023-12-01\压缩文件.zip" f_l = [ 'D:\\BusinessProject\\结果文件\\2023-12-01\\2023-11-29-2023-11-29-官方旗舰店--2023-12-01_10:57.xlsx', 'D:\\BusinessProject\\官方旗舰店--2023-12-01_11:00.xlsx', 'D:\\BusinessProject\\官方旗舰店--2023-12-01_11:01.xlsx', 'D:\\BusinessProject\\官方旗舰店--2023-12-01_11:02.xlsx', 'D:\\BusinessProject\\卧室家具旗舰店--2023-12-01_11:01.xlsx', 'D:\\BusinessProject\\卧室家具旗舰店--2023-12-01_11:02.xlsx'] fl_path = 'D:\\BusinessProject\\结果文件\\2023-12-01\\2023-11-29-2023-11-29-官方旗舰店--2023-12-01_10:57.xlsx' # result_dict = compress_pack_file(z_p, "file", file_path_list=f_l) # 压缩打包文件 result_dict = compress_pack_file(z_p, "folder", folder_path=fl_path) # 压缩打包文件夹 print(result_dict)
实现查找文件夹的文件路径代码
import os file_paths = [] f_path = r"D:\BusinessProject\结果文件\2023-12-01" for root, dirs, files in os.walk(f_path): for file_name in files: file_path = os.path.join(root, file_name) file_paths.append(file_path) print(file_paths)
到此这篇关于Python 压缩打包文件/文件夹的方法的文章就介绍到这了,更多相关Python 压缩打包文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python_array[0][0]与array[0,0]的区别详解
今天小编就为大家分享一篇python_array[0][0]与array[0,0]的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-02-02关于TensorFlow、Keras、Python版本匹配一览表
这篇文章主要介绍了关于TensorFlow、Keras、Python版本匹配一览表,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03Python selenium get_cookies获取cookie不全的解决方案
之前使用爬虫时最让我头疼的就是cookie失效的问题了,下面这篇文章主要给大家介绍了关于Python selenium get_cookies获取cookie不全的解决方案,需要的朋友可以参考下2022-10-10
最新评论