磁盘垃圾文件清理器python代码实现

yipeiwu_com6年前Python基础

本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型。

from os.path import isdir, join, splitext
from os import remove, listdir, chmod, stat
import sys

#指定要删除的文件类型
filetypes = ['.tmp', '.log', '.obj', '.txt']

def delCertainFiles(directory):
 for filename in listdir(directory):
 temp = join(directory, filename)
 if isdir(temp):
  #递归调用
  delCertainFiles(temp)
 elif splitext(temp)[1] in filetypes or stat(temp).st_size==0:
  #修改文件属性,获取访问权限
  chmod(temp, 0o777)
  #删除文件
  remove(temp)
  print(temp, ' deleted....')

if __name__ == '__main__':
 paths = sys.argv[1:]
 for path in paths:
 if isdir(path):
  delCertainFiles(path)

把上面的代码保存为t.py,然后打开命令提示符窗口,执行命令“Python t.py c:\test”,其中“c:\test”表示要清理的文件夹,如果有多个文件夹要清理的话,可以使用空格隔开。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python append 与浅拷贝的实例讲解

在做Leetcode的第39题的时候,看到网上一个用递归的解法,很简洁。于是重写了一遍。 class Solution(object): def combinationSum(se...

Python实现的拟合二元一次函数功能示例【基于scipy模块】

Python实现的拟合二元一次函数功能示例【基于scipy模块】

本文实例讲述了Python实现的拟合二元一次函数功能。分享给大家供大家参考,具体如下: 背景: 使用scipy拟合一元二次函数。 参考: HYRY Studio-《用Python做科学计...

pytorch 求网络模型参数实例

pytorch 求网络模型参数实例

用pytorch训练一个神经网络时,我们通常会很关心模型的参数总量。下面分别介绍来两种方法求模型参数 一 .求得每一层的模型参数,然后自然的可以计算出总的参数。 1.先初始化一个网络模型...

Python使用迭代器捕获Generator返回值的方法

本文实例讲述了Python使用迭代器捕获Generator返回值的方法。分享给大家供大家参考,具体如下: 用for循环调用generator时,发现拿不到generator的return...

Python中最大递归深度值的探讨

Python中最大递归深度值的探讨

Python对递归函数设置是有默认值。 可以通过下面命令来查看设置的默认值 >>> import sys >>> sys.getrecursion...