Python 壓縮打包文件/文件夾的方法
介紹
實現(xiàn)壓縮打包文件/文件夾的方法,分兩種類型處理,打包文件是需要傳入文件的路徑,打包文件夾是傳入文件夾的路徑
實現(xiàn)壓縮打包的代碼
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"執(zhí)行壓縮打包失敗"
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)實現(xiàn)查找文件夾的文件路徑代碼
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 壓縮打包文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python?opencv應用實現(xiàn)圖片切分操作示例
這篇文章主要為大家介紹了Python?opencv應用實現(xiàn)圖片切分的操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
基于Python Playwright進行前端性能測試的腳本實現(xiàn)
在當今Web應用開發(fā)中,性能優(yōu)化是提升用戶體驗的關鍵因素之一,本文將介紹如何使用Playwright構建一個自動化性能測試工具,希望對大家有所幫助2025-08-08
人臉檢測實戰(zhàn)終極之OpenCV+Python實現(xiàn)人臉對齊
這篇文章主要是為了演示如何使用 OpenCV、Python 和面部標志從而實現(xiàn)對齊人臉。文中示例代碼對我們的工作或學習有一定的幫助,感興趣的小伙伴可以學習一下2021-12-12
詳解Python使用apscheduler定時執(zhí)行任務
在平常的工作中幾乎有一半的功能模塊都需要定時任務來推動,例如項目中有一個定時統(tǒng)計程序,定時爬出網站的URL程序,定時檢測釣魚網站的程序等等,都涉及到了關于定時任務的問題,所以就找到了python的定時任務模塊2022-03-03
Python利用xlwt/openpyxl/xlutils實現(xiàn)寫入Excel數(shù)據(jù)
這篇文章主要為大家詳細介紹了Python如何利用xlwt/openpyxl/xlutils這些第三方庫實現(xiàn)寫入Excel數(shù)據(jù)功能,感興趣的小伙伴可以跟隨小編一起學習一下2024-11-11
Python+Ghostscript實現(xiàn)一個簡單的PDF批量壓縮工具(含進度條)
在日常工作中,我們經常會遇到 PDF 文件體積過大的問題,手動一個個壓縮不僅麻煩,還容易忘參數(shù),今天分享一個用 Python + Ghostscript 實現(xiàn)的 自動批量壓縮 PDF 腳本,有需要的可以了解下2025-11-11

