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

yipeiwu_com5年前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读取文件名并改名字的实例

第一版,能实现,但最后发现文件的顺序改变了: import os def reename(): nm=1 pathh="/home/huangyaya/file/imag...

tesserocr与pytesseract模块的使用方法解析

1.tesserocr的使用 #从文件识别图像字符 In [7]: tesserocr.file_to_text('image.png') Out[7]: 'Python3WebSp...

APIStar:一个专为Python3设计的API框架

APIStar:一个专为Python3设计的API框架

为了在 Python 中快速构建 API,我主要依赖于 Flask 。最近我遇到了一个名为 “API Star” 的基于 Python 3 的新 API 框架。由于几个原因,我对它很感兴...

PyQt5 多窗口连接实例

PyQt5 多窗口连接实例

前言 之前做过pyqt的一个简单界面,在一个窗口(MainWindow)中实现一些操作;之前嫌麻烦没有去做多窗口和它们的切换功能。最近研究了下窗口的调用和切换。 pyqt4和5有很多不同...

取numpy数组的某几行某几列方法

这个操作在numpy数组上的操作感觉有点麻烦,但是也没办法。 例如 a = [[1,2,3], [4,5,6], [7,8,9]] 取 a 的 2 3 行, 1 2 列...