python 實現保存最新的三份文件,其余的都刪掉
更新時間:2019年12月22日 09:06:20 作者:sxf_0123
今天小編就為大家分享一篇python 實現保存最新的三份文件,其余的都刪掉,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
""" 對于每天存儲文件,文件數量過多,占用空間 采用保存最新的三個文件 """ from airflow import DAG from airflow.operators.python_operator import PythonOperator from airflow.models import Variable from sctetl.airflow.utils import dateutils from datetime import datetime,timedelta import logging import os import shutil """ base_dir = "/data" data_dir = "/gather" "gather下邊存在不同的文件夾" "/data/gather/test" "test路徑下有以下文件夾" "20180812、20180813、20180814、20180815、20180816" """ base_dir = Variable.get("base_dir") data_dir = Variable.get("data_dir") keep = 3 default_arg = { "owner":"airflow", "depends_on_past":False, "start_date":dateutils.get_start_date_local(2018,8,27,18,5), "email":[''], "email_on_failure":False, "email_on_retry":False, "retries":1, "retry_delay":timedelta(minutes=5) } dag = DAG(dag_id="keep_three_day",default_args=default_arg,schedule_interval=dateutils.get_schedule_interval_local(18,5)) def keep_three_day(): path = os.path.join(base_dir, data_dir) date_cates = os.listdir(path) for cate in date_cates: p = os.path.join(base_dir, data_dir, cate) if os.path.isdir(p): dir_names = os.listdir(p) dir_names.sort() for i in dir_names[:-keep]: logging.info("刪除目錄 {path}".format(path=os.path.join(p, i))) shutil.rmtree(os.path.join(p, i)) with dag: keep_three_file = PythonOperator(task_id="keep_three_file",python_callable=keep_three_day(),dag=dag) keep_three_file
以上這篇python 實現保存最新的三份文件,其余的都刪掉就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python面向對象程序設計OOP深入分析【構造函數,組合類,工具類等】
這篇文章主要介紹了Python面向對象程序設計OOP,較為詳細的深入分析了Python面向對象的構造函數,組合類,工具類等相關概念、使用方法及操作注意事項,需要的朋友可以參考下2019-01-01樹莓派上利用python+opencv+dlib實現嘴唇檢測的實現
本文主要介紹了樹莓派上利用python+opencv+dlib實現嘴唇檢測的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10