我有一组作业(job1
,job2
等),每小时运行一次,完成后生成包含日志文件的文件夹(session1
,session2
等)。由于存储限制,我需要一个脚本,可以删除早于设置时间限制的会话目录,但也希望指定它必须保留指定数量的会话目录,例如保留最新的2个会话,即使它们早于设置的时间限制。在
如何使用pythonos.walk()
实现这一点?我想返回要删除的会话目录列表sessions_to_delete = []
/root
/job1 (runs every one hour)
/session1
/*log
/session2
/session3
/job2
/session1
/session2
在这种情况下,用^{} 列出所有目录可能更容易,以匹配您的层次结构模式。您可以使用^{} 为每个目录获取一个时间戳来进行排序和筛选
我包含了一个7天前的截止日期示例,从^{} 开始计算,它返回一个整数值,表示自1970年1月1日(UNIX纪元)以来经过的秒数。在
如果您需要对每个作业目录执行此操作,请对每个此类目录执行相同的操作,并合并结果列表:
^{pr2}$你可以用os.path.getatime操作系统(路径)或os.path.getmtime操作系统(路径)找出文件夹的“旧”程度,然后对其执行所需的操作。。。 这里是关于操作系统路径模块https://docs.python.org/2/library/os.path.html#module-os.path
解决问题的一种方法是:
如果您使用append()建立了\u文件夹的列表,那么您可以通过像这样简单地更改for循环来保存最后两个文件夹。在
^{pr2}$相关问题 更多 >
编程相关推荐