直接贴代码:

删除某个目录下的文件,不遍历木路下文件夹下的文件,根据时间差删除,默认7天

  1. #!/usr/bin/python
  2. # -*- coding: gbk -*-
  3. import os
  4. import datetime
  5. import re
  6. import sys
  7.  
  8. base_dir = 'E:\\test\\'
  9. file_ype = '.xls'
  10. days = 7
  11.  
  12. def deleteFile(base_dir,file_ype,days):
  13.  
  14. now_time = datetime.datetime.now() #获取当前时间
  15. os.chdir(base_dir) #切换到此目录
  16. cwd = os.getcwd() #得到当前目录
  17. files = os.listdir(os.getcwd()) # 列出目录中文件
  18. for file in files:
  19. if os.path.isfile(file):
  20. file_name = os.path.basename(file) #获得文件名称
  21. pattern = re.compile(file_ype)
  22. match = len(pattern.findall(file_name)) #查找文件类型
  23.  
  24. if match>0:
  25. timestamp = os.path.getmtime(file) #得到文件的修改时间
  26. date = datetime.datetime.fromtimestamp(timestamp) #时间格式化
  27. if (now_time - date).days>=days: #now_time - date).days 计算时间差,相差天数
  28. os.remove(file) #删除文件
  29. print "文件删除成功,删除文件名称为: "+file
  30.  
  31. if __name__ == "__main__":
  32.  
  33. #从命令行取参数,如命令行未传参数使用默认参数
  34. if len(sys.argv)>3:
  35. base_dir = sys.argv[1]
  36. file_ype = sys.argv[2]
  37. days = int(sys.argv[3])
  38. deleteFile(base_dir,file_ype,days)
  39. else:
  40. deleteFile(base_dir,file_ype,days)
  41.  
  42. #从命令行传参数的方法:python 文件名称.py 参数1 参数2 参数3

删除某个目录下包括目录下目录,遍历所有,删除符合后缀名的文件,默认删除7天前的文件

  1. #!/usr/bin/python
  2. # -*- coding: gbk -*-
  3. import os,datetime,re,sys
  4.  
  5. base_dir = 'E:\\test\\'
  6. file_ype = '.xls'
  7. days = 7
  8.  
  9. def del_files(base_dir,file_ype,days):
  10. now_time = datetime.datetime.now() #获取当前时间
  11. for cpath, dirs, files in os.walk(base_dir):#文件遍历
  12. for file in files:
  13. if file.endswith(file_ype): #过滤掉后缀名
  14. timestamp = os.stat(os.path.join(cpath, file)).st_mtime #获取文件修改时间
  15. date = datetime.datetime.fromtimestamp(timestamp) #时间转换
  16. if (now_time - date).days>=days: #now_time - date).days 计算时间差,相差天数
  17. os.remove(os.path.join(cpath, file)) #删除文件
  18. print "文件删除成功,删除文件名称为: "+file
  19.  
  20. if __name__ == "__main__":
  21. #从命令行取参数,如命令行未传参数使用默认参数
  22. if len(sys.argv)>3:
  23. base_dir = sys.argv[1]
  24. file_ype = sys.argv[2]
  25. days = int(sys.argv[3])
  26. del_files(base_dir,file_ype,days)
  27. else:
  28. print '调用未传参数方法'
  29. del_files(base_dir,file_ype,days)
  30.  
  31. #从命令行传参数的方法: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. 面向对象OO第一单元三次作业总结

    (一)第一单元的作业围绕着多项式的求导,从简单到复杂,主要的要求是 作业一:只有两种格式的因子:带符号整数(+02)和幂函数(x^+02). 作业二:在作业一的基础上添加了:sin(x)和cos(x) ...

  2. Js笔记 14

      <script> // <!-- 课 对象   // //对象的创建方法 // 1.var obj = {} plainobject 对象字面量 对象直接量 // 2.构造函数 ...

  3. 在Linux下安装redis

    http://www.cnblogs.com/xiaohongxin/p/6854095.html 追加: 通过配置文件启动最好先./redis.cli shutdown ,再到当前目录在./redi ...

  4. C# 使用Epplus导出Excel [5]:样式

    C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用 ...

  5. VS快捷键总结(开发中经常遇到)

    1.窗口快捷键  (大家有没有发现但凡跟窗口挂上钩的快捷键当中都有一个W,那是因为W代表Windows也就是窗口的意思) Ctrl+W,W: 浏览器窗口 (浏览橱窗用有道的翻译是window shop ...

  6. ANSI C 与 K&R C

    C语言由Dennis M.Ritchie在1973年设计和实现.从那以后使用者逐渐增加.到1978年Ritchie和Bell实验室的另一位程序专家Kernighan合写了著名的<TheC Pro ...

  7. 基于Inception搭建MySQL SQL审核平台Yearing

    基于Inception搭建MySQL SQL审核平台Yearing Inception 1. Inceptionj简介 2. Inception安装 2.1 下载和编译 2.2 启动配置 Yearni ...

  8. JS正则表达式学习总结

    JS正则:java RegExp对象,它是对字符串执行模式匹配的强大工具.运用最多的就是在输入处验证输入的字符串是否合法,指定用户输入字符串的格式. 定义方法: 1:直接量语法:var re=/pat ...

  9. HDU:2255-奔小康赚大钱(KM算法模板)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2255 奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Mem ...

  10. Linux学习-软件管理员简介

    Linux 界的两大主流: RPM 与 DPKG 目前在 Linux 界软件安装方式最常见的有两种,分别是: dpkg: 这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg ...