删除7天前的文件:
学习要点:1,文件遍历
2,python时间用法
# -*- coding:utf-8 -*-
'''
@Datetime:2018/9/25 15:49
@Author: qimingwei
@E-Mail:[email protected]
@GitHub:
@Blog:
@file: testpath.py
'''
from datetime import datetime, timedelta
import os
import sys
import time
import datetime
def delDir(dir, datatime01):
# 获取文件夹下所有文件和文件夹
files = os.listdir(dir)
for file in files:
#filepath = os.path.join(dir , file)#路径拼接
filePath = dir + "/" + file
# 判断是否是文件
if os.path.isfile(filePath):
# 最后一次修改的时间
last1 = os.stat(filePath).st_mtime #获取文件的时间戳
filetime= time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(last1)) #将时间戳格式化成时间格式的字符串
#删除七天前的文件
if (datatime01 < filetime): #datatime01是当前时间7天前的时间,filetime是文件修改的时间,如果文件时间小于(早于)datatime01时间,就删除
os.remove(filePath)
print(filePath + " was removed!")
elif os.path.isdir(filePath):
# 如果是文件夹,继续遍历删除
delDir(filePath, datatime01)
# 如果是空文件夹,删除空文件夹
if not os.listdir(filePath):
os.rmdir(filePath)
print(filePath + " was removed!")
if __name__ == '__main__':
#获取路径
path = "C:/Users/qmw/Desktop/shicedata"
#获取过期时间
starttime = datetime.datetime.now()
d1 = starttime + timedelta(days=-7)
#d2 = starttime - timedelta(days=7) #获取7天前的时间
date1=str(d1)
index = date1.find('.') # 第一次出现的位置
datatime01 = date1[:index]
while True:
delDir(path,datatime01)
time.sleep(100)
a = '2017-10-18 22:17:46'
b = '2017-10-19 22:17:40'
print a > b
# 结果False1234
解释:python中字符串的大小比较,是按照字符顺序,从前往后依次比较字符的ASCII数值,例如‘abc’要小于‘abd’。因此,时间字符串也可以直接比大小。