import zipfile
import os
from datetime import date
import shutil
import time
#查找需要压缩的文件夹:带Gxx_log的文件
def findfile(sourcefile):
for root, dirs, files in os.walk(sourcefile):
# print(dirs)
for dir_name in dirs:
# print(dir_name)
if dir_name in ("Gxx_log","Fxx_log"):
file_name = os.path.join(sourcefile, dir_name)
# print(file_name)
# print(dir_name)
zip_folder(file_name)
#1.压缩文件夹
def zip_folder(folder_path):
#更新zip_path+日期
today = str(date.today())
zip_path=f"{folder_path}_{today}"+'.zip'
# print(zip_path)
#压缩
with zipfile.ZipFile(zip_path,'w',zipfile.ZIP_DEFLATED) as zip_file:
for root,dirs,files in os.walk(folder_path):
# print('root:',root)
# print('dirs:',dirs)
# print('files:',files)
for file in files:
#print('file:', file)
file_path = os.path.join(root,file)
# print('file_path:', file_path)
zip_file.write(file_path,os.path.relpath(file_path,folder_path))
# print('zip_path:',zip_path)
time.sleep(10)
zip_to_share(zip_path,destfile)
print('upload success')
#zip_file.close()
#2.上传文件夹,删除源文件
def zip_to_share(from_file,to_file):
shutil.move(from_file, os.path.join(to_file))
if __name__=='__main__':
sourcefile = r'D:\Test report\CANapeData'
# zip_path = r'D:\Test report\CANapeData\Gxx'
destfile = r'\\shnas.xxxxx.com\share\CANapeData'
findfile(sourcefile)
zip压缩以及上传到服务器网盘
于 2024-02-05 15:39:00 首次发布
本文介绍了一个Python脚本,用于查找特定名称的文件夹(如Gxx_log和Fxx_log),然后压缩这些文件夹并将压缩后的文件上传到网络共享。脚本包含findfile和zip_to_share两个函数,用于遍历文件、创建压缩包并移动到目标路径。
423





