用Python删除本地目录下某一时间点之前创建的文件

  • 参考http://www.cnblogs.com/iderek/p/8035757.html
  • os.listdir(dirname):列出dirname下的目录和文件
  • os.getcwd():获得当前工作目录
  • os.curdir:返回当前目录(‘.‘)
  • os.chdir(dirname):改变工作目录到dirname
  • os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
  • os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
  • os.path.exists(name):判断是否存在文件或目录name
  • os.path.getsize(name):获得文件大小,如果name是目录返回0L
  • os.path.abspath(name):获得绝对路径
  • os.path.normpath(path):规范path字符串形式
  • os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
  • os.path.splitext():分离文件名与扩展名
  • os.path.join(path,name):连接目录与文件名或目录
  • os.path.basename(path):返回文件名
  • os.path.dirname(path):返回文件路径
  • os.remove(dir) #dir为要删除的文件夹或者文件路径
  • os.rmdir(path) #path要删除的目录的路径。需要说明的是,使用os.rmdir删除的目录必须为空目录,否则函数出错。
  • os.path.getmtime(name) #获取文件的修改时间
  • os.stat(path).st_mtime#获取文件的修改时间
  • os.stat(path).st_ctime #获取文件修改时间
  • os.path.getctime(name)#获取文件的创建时间

方法一

import shutil, os

os.chdir(‘d:\_data\python\os‘) #进入要清空的目录
ds = list(os.listdir()) #获得该目录下所有文件或文件夹列表
for d in ds: #遍历该列表
    if os.path.isfile(d): #如果列表项是文件
        os.remove(d) #直接删除
    else: #如果不是文件,肯定是文件夹
        shutil.rmtree(d) #也直接删除

方法二

import os, datetime

dirToBeEmptied = ‘D:\_Data\Python\os‘ #需要清空的文件夹

ds = list(os.walk(dirToBeEmptied)) #获得所有文件夹的信息列表
delta = datetime.timedelta(days=365) #设定365天前的文件为过期
now = datetime.datetime.now() #获取当前时间

for d in ds: #遍历该列表
    os.chdir(d[0]) #进入本级路径,防止找不到文件而报错
    if d[2] != []: #如果该路径下有文件
        for x in d[2]: #遍历这些文件
            ctime = datetime.datetime.fromtimestamp(os.path.getctime(x)) #获取文件创建时间
            if ctime < (now-delta): #若创建于delta天前
                os.remove(x) #则删掉

原文地址:https://www.cnblogs.com/jackzz/p/9125601.html

时间: 2024-10-01 21:03:34

用Python删除本地目录下某一时间点之前创建的文件的相关文章

python删除指定目录下的指定文件和文件夹

具体代码: #coding:utf-8import os,sys,platformclass RemoveTagFile(object): path=None def removeFile(self,path,remove_list,retain_list): #path后面要跟/ self.path=path system_test=platform.system() if(system_test=='Windows'): path_last=self.path[-1] if(path_las

Java版本的删除指定目录下名叫“xxx.txt”文件名的文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了. 最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug. 把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递

Linux shell批量删除指定目录下的所有目录的编程思路

应用场景:某个目录中存放着许多软件的源码压缩包,在部署完这些软件后,一定会生成许多没用的临时目录,可以通过脚本的方式删除该目录下所有的目录.当这个目录中存在着一些特殊名字的目录时,例如这些目录中有Linux系统所不支持的特殊字符"/"(这些文件通常有可能是Windows系统所支持的)或有目录名中有空格,那批量删除这些目录就会变得困难. 问题分析与解决办法: 问题1.当前工作目录中有一些重要的目录可能不想被删除 解决办法:排除这些目录即可 问题2.需要考虑一些特殊的目录名称,诸如&quo

删除一个目录下的所有文件,但保留一个指定文件

此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

删除指定目录下的指定后缀的文件

1 import java.io.*; 2 import javax.swing.*; 3 public class Delete{ 4 public static void main(String[] args)throws Exception{ 5 String target = JOptionPane.showInputDialog(null,"请输入您要清理垃圾的目录:"); 6 File[] fs = new File(target).listFiles(new Filena

删除指定目录下的空文件夹

//删除制定目录下的所有空文件夹 //num=0 第一次遍历该文件夹 num=1 第二次遍历该文件夹 public static void ListDirectory(File file,int num)throws Exception { if(!file.exists()) { throw new IllegalArgumentException("目录"+file+"不存在"); } else if(!file.isDirectory()) { throw n

php删除指定目录下的相关文件实例

在php中删除文件最简单的办法直接使用unlink命令,但本文章介绍的是需要删除指定目录下的指定文件,所以我需要遍历删除了,具体看这个例子.  代码如下 复制代码 <?php //删除指定文件夹下的非法文件 function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendir($dir))         {             while(false !== ($file

Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方