比较上次修改时间和当前时间,然后删除文件和文件夹

时间:2013-10-18 01:54:41

标签: python file-io time

我有一台服务器,我需要从该服务器中删除特定文件夹中的文件和文件夹,我想每3个月删除一次,我已经知道如何使用crontab和python,事情是,我只想删除3个月或更长时间的文件或文件夹。

我用来删除文件和文件夹的python代码是:

import os
import shutil
path = '/path/to/folder'

for root, dirs, files in os.walk(path):
        for f in files:
                os.unlink(os.path.join(root, f))
        for d in dirs:
                shutil.rmtree(os.path.join(root,d))

我现在想要的是获取上次修改的每个文件和文件夹月份,并将其与当前月份进行比较,然后当且仅当其“年龄”大于或等于3个月时才删除它。

任何帮助?

2 个答案:

答案 0 :(得分:0)

在posix上执行此操作的常规方法是文件:

find path -mtime +90 -a -type f -a -exec rm "{}" \; 

和文件夹:

find path -mtime +90 -a -type d -a -exec rm -r "{}" \; 

但当然你需要小心任何rm -r!如果感兴趣的文件夹没有嵌套,则更安全:

find path -mtime +90 -a -type d -a -exec rmdir "{}" \; 

在python中,shell执行此操作。它不是一个跨平台的纯python解决方案。

答案 1 :(得分:0)

所以,这就是答案。

我删除超过6个月的文件和文件夹,而不是删除超过3个月的文件。

nav class="navbar navbar-default navbar-fixed-top"

BR,

REDCODE