1. 程式人生 > >Python雜俎 —— 自動壓縮指定格式檔案&自動刪除

Python雜俎 —— 自動壓縮指定格式檔案&自動刪除

 |||一、問題場景:

之前寫過指令碼,在遠端主機裡連線Oracle,每天自動查詢資料,匯出csv檔案,按日期命名排序。但是每天我需要自己手動壓縮然後再複製出來。結果就是一個元旦假期回來,後臺堆滿了每天的csv檔案-=。=#

 

所以想在原本的指令碼上新增一個每日自動壓縮當天的資料,刪除原始檔的功能。

 |||二、需求分析:

新增的功能需要滿足1.識別指定格式的檔案csv——》2.壓縮csv檔案,按對應日期命名——》3.壓縮完成後刪除原始檔。

 |||三、效果演示:

 

 |||四、原始碼:

 

 1
import os 2 import zipfile 3 import datetime 4 import time 5 6 #定義壓縮函式 7 def csv_zip(): 8 path = "C:/Users/Administrator/Desktop/ziptest" 9 files = os.listdir(path) 10 csv_files = [] 11 for f in files: 12 if f.endswith('.csv'): 13 csv_files.append(f) 14 name_date = f[-8:-4]
15 with zipfile.ZipFile('data'+ name_date + '.zip', 'w') as myzip: 16 for csv in csv_files: 17 myzip.write(csv) 18 os.remove(csv) 19 print(name_date+' Zip Complete') 20 21 def main(h=12, m=30,s=10): 22 while True: 23 while True: 24 now = datetime.datetime.now()
25 # 到達設定時間,結束內迴圈 以小時判斷為例 26 if now.hour==h: 27 break 28 # 不到時間就等10秒之後再次檢測 29 time.sleep(10) 30 csv_zip() 31 # 設定壓縮函式的執行週期 32 #time.sleep(86400) 33 time.sleep(15) 34 35 main()