python删除固定类型的文件_python脚本删除指定目录下指定文件类型的文件

话不多说,先上代码,分为两部分,一个py 文件和一个ini 的配置文件

感觉看注释应该比较容易看懂,不懂的或者有不对的地方可以在评论下提出,大家互相学习

delFile.py 文件内容如下:

import time

import os

import configparser # 读取配置文件的包

import psutil # 获取系统信息模块,可以获取cpu,内存,磁盘的使用情况

import logging

import threading # 线程相关的包

# 设置日志信息格式

logging.basicConfig(filename="example.log",

level=logging.DEBUG,

format='%(asctime)s %(levelno)s %(filename)s %(process)d %(message)s',

datefmt='%a, %d %b %Y %H:%M:%S')

# 配置文件相关

config = configparser.ConfigParser() # 生成ConfigParser 对象

config.read('config.ini', encoding='utf-8') # 读取配置文件

all_sections = config.sections() # 获取所有节点

items = config.items(all_sections[0]) # 获取节点下的键值对

# 获取所需配置的值

file = config.get(all_sections[0], 'file') # 指定目录

filesuffix = config.get(all_sections[0], 'filesuffix') # 指定格式

exittime = config.getint(all_sections[0], 'exittime') # 文件多长时间删除

timing = config.get(all_sections[0], 'timing')

# 获取文件创建至今的时间

def getfiletime(file):

# 获取创建的时间并转换为时间戳

timeArray = time.strptime(time.ctime(os.path.getctime(file)), "%a %b %d %H:%M:%S %Y")

filetime = int(time.mktime(timeArray))

# 计算创建时间戳和当前时间戳的差值

timeStamp = int(time.time()) - filetime

# 转换为天数

createtime = timeStamp / 3600 / 24

return createtime

# 删除指定后缀名,指定创建文件超过N天的文件

def delfile(file):

list = os.listdir(file)

delnum = 0 # 删除的文件个数# 获取指定目录下的所有文件名

for i in range(len(list)):

namelist = list[i].split(".")

suffix = namelist[len(namelist) - 1] # 获取后缀

filename = file + "\\" + list[i] # 文件的路径+名字

if (suffix == filesuffix) and (getfiletime(filename) > exittime):

os.remove(filename)

delnum += 1

logging.info("删除的文件是:" + list[i])

print(("删除的文件是:" + list[i]))

logging.info(("删除了%d个文件" % delnum))

# 正式使用,每天定点执行

# while True:

# time.sleep(1) # while 循环间隔 1s , 降低cpu 占用率

# time_now=time.strftime("%H:%M:%S",time.localtime(time.time()))

# if time_now==timing:

# logging.info("开始执行定时任务")

# delfile(file)

# time.sleep(2) # 防止在1s内被执行两次

# 测试用(每分钟执行一次)

logging.info("系统启动")

while True:

time.sleep(0.1) # while 循环间隔 1s , 降低cpu 占用率

time_now = time.strftime("%S", time.localtime(time.time()))

if time_now > "50":

logging.info("开始执行定时任务")

delfile(file)

time.sleep(2)

另外还有一个配置文件 config.ini,放到.py文件的同级目录下

[delFile]

file = D:\

filesuffix = h

exittime = 0

timing = 08:00:00

用到的包以及相关的学习网站

你可能感兴趣的:(python删除固定类型的文件)