直接贴代码:

删除某个目录下的文件,不遍历木路下文件夹下的文件,根据时间差删除,默认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

python根据文件目录、文件类型和文件与当前时间差删除文件的更多相关文章

  1. Sharepoint 列表ItemAdding事件判断文件类型、获取当前上传的文件

    using System; using System.Security.Permissions; using Microsoft.SharePoint; using Microsoft.SharePo ...

  2. linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)

    文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...

  3. 【2017-05-30】WebForm文件上传。从服务端删除文件

    用 FileUpload控件进行上传文件. <asp:FileUpload ID="FileUpload1"  runat="server" /> ...

  4. Python之基于十六进制判断文件类型

    核心代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : suk import struct from io import Byt ...

  5. python 实现彻底删除文件夹和文件夹下的文件

    python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直 ...

  6. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  7. linux学习(五)系统目录结构,ls命令,文件类型,alias

    一.系统目录结构 在我们的根目录下,有这样一些文件夹 /bin /sbin /usr/bin /usr/sbin /sbin一般都是root用户用的 /boot 系统启动相关的,grup就放在这里,这 ...

  8. Linux 文件类型及操作

    一.  文件类型 1.Linux文件类型如下图所示: 2.Linux文件类型有许多种,不同的文件类型代表特殊意义,使用以下命令可以查看文件类型: [root@VMredhat6 ~]# ls  -l  ...

  9. Day3(1)linux文件系统及文件类型

    Linux的文件系统 根文件系统(rootfs) root filesystem LSB,FHS:(FileSystem Heirache Standard) /etc,/usr,/var,/root ...

随机推荐

  1. Ajax的原理及Django上传组件

    title: Ajax的原理及Django上传组件 tags: Django --- Ajax的原理及Django上传组件 Ajax的原理 ajax 是异步JavaScript和xml ajax就是向 ...

  2. OO作业第一单元总结

    一.第一单元作业回顾 ​ 系列一作业分为三周进行,都是表达式求导,难度渐进. ​ 第一次实现的是简单幂函数的求导,第二次加入了sin和cos两种三角函数,第三次实现了三角函数内的嵌套以及引入了表达式因 ...

  3. SC || Git 相关知识

    发现大佬的博客:https://www.cnblogs.com/onetwo/p/4157610.html 注:图片来自小姐姐的笔记~ ┉┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉┉┉┉∞ ∞┉┉┉┉∞ ...

  4. Dojo中的选择器

    dom.byId(以前的dojo.byId):等同于js中的document.getElementById. http://www.cnblogs.com/tiandi/archive/2013/11 ...

  5. 01_8_sql主键生成方式

    01_8_sql主键生成方式 1. 配置映射文件 <insert id="insertStudentBySequence" parameterClass="Stud ...

  6. lua在linxu和windows系统下的遍历目录的方法

    在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  ...

  7. BZOJ-3679(数位DP)

    #include <bits/stdc++.h> using namespace std; typedef long long ll; ll a,b; int k[20]; ll dp[2 ...

  8. char与varchar的区别与联系

    char是字节类型,varcahr是字符类型 1.char(20) 存放的是字节,utf-8中文字符占三个字节,GB18030兼容GBK兼容GB2312中文字符占两个字节,ISO8859-1是拉丁字符 ...

  9. centos7 rpm安装mysql5.7

    1.去官网下载指定的数据库版本:https://dev.mysql.com/downloads/mysql/ 2.根据所用的操作系统下载指定的rpm包 3.下载及安装 地址链接wget https:/ ...

  10. python3  循环输出当前时间。

    题目 暂停一秒输出(使用 time 模块的 sleep() 函数).循环输出当前时间. 代码: import time while True: time.sleep(1) print(time.str ...