我正在尝试删除旧文件夹,我问有没有人知道如何设置一个变量,允许我检查变量'todaystr',这是今天的日期,减去这个字符串的7天,并存储另一个变量。我想在一周后自动删除旧文件。下面显示了正在设置的变量'todaystr。
todaystr = datetime.date.today().isoformat()
我想创建一个变量'oldfile'来存储当前日期减去7天,这样我就可以删除带有此日期的文件。谢谢你的帮助。
答案 0 :(得分:4)
import datetime
import os
import shutil
threshold = datetime.datetime.now() + datetime.timedelta(days=-7)
file_time = datetime.datetime.fromtimestamp(os.path.getmtime('/folder_name'))
if file_time < threshold:
shutil.rmtree('/folder_name')
答案 1 :(得分:0)
我与上述答案的关系很有效,我使用的代码到底有所不同。我使用当前日期创建文件夹的名称,因此当每晚构建运行时,它将仅删除7天前命名的文件夹。代码如下:
import datetime
import os
import calendar
today = datetime.date.today()
todaystr = datetime.date.today().isoformat()
minus_seven = today.replace(day=today.day-7).isoformat()
if os.path.exists(minus_seven):
os.system("sudo rm -rf "+minus_seven)
print 'Sandboxes from 7 days ago removed'
我使用linux删除文件夹,因为我的代码中包含了一些linux,它运行良好。