Skip to main content
 首页 » 编程设计

python之有没有更好的方法来删除 python 中一个月前的文件

2025年05月04日10webabcd

我构建了一个脚本,每天生成文件并按生成日期命名它们。然而,我需要在 1 个月后删除这些文件,并且发现它有点困惑。我相信下面的方法会起作用,但我想知道 Python 是否有一个内置的功能,允许它更 Pythonicly 和 elegently。

请注意,此代码通过在到达本月最后一天时删除上个月的所有文件来处理月末天数多于下个月的文件。

if today.month != 1: 
    if today.day == days_in_month[today.month] and days_in_month[today.month] < days_in_month[today.month - 1]: 
        for x in range(days_in_month[today.month],days_in_month[today.month-1]+1): 
            date = date(today.year,today.month-1,x) 
 
            fname = str(date)+".stub" 
            remove(fname) 
else: 
    date = date(today.year-1,12,x) 
 
    fname = str(date)+".stub" 
    remove(fname) 

请您参考如下方法:

看看 Python 的 datetime模块,它有一些类可以大大简化这一点。您应该能够使用 datetime.datetime.strptime() 从您的文件名创建一个 datetime.datetime 对象, 另一个当前时间使用 datetime.datetime.now() .然后您可以从另一个中减去一个以获得 datetime.timedelta对象,您可以使用它来计算日期之间的差异。