• 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()

  • 相关阅读:
    [转]为Ubuntu Server安装gnome图形桌面环境
    [转]ubuntu 安装五笔输入法
    [转]更改文件所有者
    QT 透明设置
    ubuntu 交叉编译arm linux 内核
    Opencv vs 2005编译
    [转]在skyeye中运行uboot
    object的引用 与 foreach的使用
    音频和视频
    HTML5 Canvas API
  • 原文地址:https://www.cnblogs.com/MyDoldrums/p/10224035.html
Copyright © 2020-2023  润新知