时间:2021-05-22
我就废话不多说了,直接上代码吧!
"""对于每天存储文件,文件数量过多,占用空间采用保存最新的三个文件"""from airflow import DAGfrom airflow.operators.python_operator import PythonOperatorfrom airflow.models import Variablefrom sctetl.airflow.utils import dateutilsfrom datetime import datetime,timedeltaimport loggingimport osimport 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 实现保存最新的三份文件,其余的都删掉就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
研究了下这个,记录下代码。主页面代码:activity_main.xml添加三个文件:三份style文件,即默认的values(不设置状态栏透明)、values
拉美电商PrivaLia,于今年2月份提交了三份IPO申请,但由于市场情况问题,4月取消了其在巴西的首次公开募股,就此搁浅了IPO计划。而根据最新消息,本月12
我们都知道,天猫店铺转让出售全过程只需签订三份合同:天猫账号出售的卖家需要签订卖家出售店铺的协议;购买天猫店铺的买家需要签订的资金保障合同;天猫店铺交易双方都需
在Word2003中输入文字时,经常遇到一小块文字需要重复录入(如合同文书中甲方、乙方的单位名称),或一句短语在多个文件中频繁出现(如“本合同一式三份,双方签字
本文实例讲述了Python实现查询某个目录下修改时间最新的文件。分享给大家供大家参考,具体如下:通过Python脚本,查询出某个目录下修改时间最新的文件。应用场