Python时间(删除过期文件)------文件遍历和时间用法

删除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’。因此,时间字符串也可以直接比大小。

你可能感兴趣的:(Python)