python根据文件目录、文件类型和文件与当前时间差删除文件
2016-06-25 13:31
633 查看
直接贴代码:
删除某个目录下的文件,不遍历木路下文件夹下的文件,根据时间差删除,默认7天
删除某个目录下包括目录下目录,遍历所有,删除符合后缀名的文件,默认删除7天前的文件
删除某个目录下的文件,不遍历木路下文件夹下的文件,根据时间差删除,默认7天
#!/usr/bin/python # -*- coding: gbk -*- import os import datetime import re import sys base_dir = 'E:\\test\\' file_ype = '.xls' days = 7 def deleteFile(base_dir,file_ype,days): now_time = datetime.datetime.now() #获取当前时间 os.chdir(base_dir) #切换到此目录 cwd = os.getcwd() #得到当前目录 files = os.listdir(os.getcwd()) # 列出目录中文件 for file in files: if os.path.isfile(file): file_name = os.path.basename(file) #获得文件名称 pattern = re.compile(file_ype) match = len(pattern.findall(file_name)) #查找文件类型 if match>0: timestamp = os.path.getmtime(file) #得到文件的修改时间 date = datetime.datetime.fromtimestamp(timestamp) #时间格式化 if (now_time - date).days>=days: #now_time - date).days 计算时间差,相差天数 os.remove(file) #删除文件 print "文件删除成功,删除文件名称为: "+file if __name__ == "__main__": #从命令行取参数,如命令行未传参数使用默认参数 if len(sys.argv)>3: base_dir = sys.argv[1] file_ype = sys.argv[2] days = int(sys.argv[3]) deleteFile(base_dir,file_ype,days) else: deleteFile(base_dir,file_ype,days) #从命令行传参数的方法:python 文件名称.py 参数1 参数2 参数3
删除某个目录下包括目录下目录,遍历所有,删除符合后缀名的文件,默认删除7天前的文件
#!/usr/bin/python # -*- coding: gbk -*- import os,datetime,re,sys base_dir = 'E:\\test\\' file_ype = '.xls' days = 7 def del_files(base_dir,file_ype,days): now_time = datetime.datetime.now() #获取当前时间 for cpath, dirs, files in os.walk(base_dir):#文件遍历 for file in files: if file.endswith(file_ype): #过滤掉后缀名 timestamp = os.stat(os.path.join(cpath, file)).st_mtime #获取文件修改时间 date = datetime.datetime.fromtimestamp(timestamp) #时间转换 if (now_time - date).days>=days: #now_time - date).days 计算时间差,相差天数 os.remove(os.path.join(cpath, file)) #删除文件 print "文件删除成功,删除文件名称为: "+file if __name__ == "__main__": #从命令行取参数,如命令行未传参数使用默认参数 if len(sys.argv)>3: base_dir = sys.argv[1] file_ype = sys.argv[2] days = int(sys.argv[3]) del_files(base_dir,file_ype,days) else: print '调用未传参数方法' del_files(base_dir,file_ype,days) #从命令行传参数的方法:python 文件名称.py 参数1 参数2 参数3
相关文章推荐
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 0: i报错问题
- Python案例-开发之路-计算器
- python加密解密
- vim环境设置(应用于python编程)
- Python 包管理工具解惑
- python面向对象基础
- Python快速入门学习笔记(一)
- python cookielib
- Python机器学习实战笔记之KNN算法
- 地铁译:Spark for python developers ---Spark处理后的数据可视化
- 浅谈Python中的yield表达式
- python安装mysql-python简明笔记(ubuntu环境)
- python urllib访问网站
- python中的with-as语句学习
- 【Python学习日记】函数式编程 之 高阶函数
- Python学习笔记
- Python--matplotlib绘图可视化知识点整理
- python 中的深拷贝和浅拷贝
- 【Python学习日记】面向过程 和 面向对象 编程
- Python基础学习--删除元素(remove,del,pop)