用Python自动清理系统垃圾的实现


Posted in Python onJanuary 18, 2021

用Python自动清理系统垃圾,再也不用360安全卫士了

在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:.tmp、._mp)日志文件(.log)、临时帮助文件(.gid)、磁盘检查文件(.chk)、临时备份文件(如:.old、*.bak)以及其他临时文件。特别是如果一段时间不清理IE的临时文件夹“Temporary Internet Files”,其中的缓存文件有时会占用上百MB的磁盘空间。这些LJ文件不仅仅浪费了宝贵的磁盘空间,严重时还会使系统运行慢如蜗牛。

用Python自动清理系统垃圾的实现

清理电脑垃圾最常用的是360安全卫士,看着清理完成,释放了N个GB的空间,别提多舒适了。 但是作为Pythoneer自然要玩点不一样的,我向大家介绍一种利用任务计划执行py脚本实现自动清理电脑垃圾的方法,感兴趣的同学可以试试。

同学们不要太较真哈,本文介绍的方法肯定不能跟360媲美,很早之前网上有个清除垃圾的.bat文件也能清理电脑垃圾文件。
本文主要目的是换一种姿势学习Python的os模块。

一、清理目标

系统盘 %system% 下文件类型:

【临时文件(*.tmp)】
【临时文件(*._mp)】
【日志文件(*.log)】
【临时帮助文件(*.gid)】
【磁盘检查文件(*.chk)】
【临时备份文件(*.old)】
【Excel备份文件(*.xlk)】
【临时备份文件(*.bak)】

用户目录 %userprofile% 下文件夹

【COOKIE】 cookies\*.*
【文件使用记录】 recent\*.*
【IE临时文件】 Temporary Internet Files\*.*
【临时文件文件夹】 Temp\*.*.

Windows 目录 %windir% 下文件夹

【预读取数据文件夹】 prefetch\*.*
【临时文件】 temp\*.*

Python os

Python os 模块提供了非常丰富的方法用来处理文件和目录,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就离不了os模块。
具体就不过多介绍,大家可以看一下官方文档,也没必要细究,用到哪个知道怎么查就行了。

https://docs.python.org/zh-cn/3/library/os.html

Python脚本

造轮子不如站在巨人的肩膀上,发现已经有博主写过了,不过是用Python2编写的,print的地方改一下就行了。

用Python自动清理系统垃圾的实现

import os
del_extension = {
  '.tmp': '临时文件',
  '._mp': '临时文件_mp',
  '.log': '日志文件',
  '.gid': '临时帮助文件',
  '.chk': '磁盘检查文件',
  '.old': '临时备份文件',
  '.xlk': 'Excel备份文件',
  '.bak': '临时备份文件bak'
}
del_userprofile = ['cookies', 'recent', 'Temporary Internet Files', 'Temp']
del_windir = ['prefetch', 'temp']
SYS_DRIVE = os.environ['systemdrive'] + '\\'
USER_PROFILE = os.environ['userprofile']
WIN_DIR = os.environ['windir']

def del_dir_or_file(root):
  try:
    if os.path.isfile(root):
      os.remove(root)
      print ("file",root,"removed")
    elif os.path.isdir(root):
      os.rmdir(root)
      print("dir",root,"removed")

  except WindowsError:
    print("failure",root,"can't remove")

def formatSize(b):
  try:
    kb = b // 1024
  except:
    print("传入字节格式不对")
    return "Error"
  if kb > 1024:
    M = kb // 1024
    if M > 1024:
      G = M // 1024
      return "%dG" % G
    else:
      return "%dM" % M
  else:
    return "%dkb" % kb

class DiskClean(object):
  def __init__(self):
    self.del_info = {}
    self.del_file_paths = []
    self.total_size = 0
    for i,j in del_extension.items():
      self.del_info[i] = dict(name = j,count = 0 )

  def scanf(self):
    for roots,dirs,files in os.walk(USER_PROFILE):
      for files_item in files:
        file_extension = os.path.splitext(files_item)[1]
        if file_extension in self.del_info:
          file_full_path = os.path.join(roots,files_item)
          self.del_file_paths.append(file_full_path)
          self.del_info[file_extension]['count'] += 1
          self.total_size += os.path.getsize(file_full_path)

  def show(self):
    re = formatSize(self.total_size)
    for i in self.del_info:
      print(self.del_info[i]["name"],"共计",self.del_info[i]["count"],"个")
    return re

  def delete_files(self):
    for i in self.del_file_paths:
      print(i)
      del_dir_or_file(i)
if __name__ == "__main__":
  print("初始化清理垃圾程序")
  cleaner = DiskClean()
  print("开始扫描垃圾文件请耐心等待\n")
  cleaner.scanf()
  print("扫描成功,结果如下")
  re = cleaner.show()
  cleaner.delete_files()

调通之后另存为kill360.py,保存到python的工作目录,不知道工作目录可以运行os.getcwd()查看。
另外还需要确保python的安装目录已添加到path系统变量中,方法:在电脑中,右键打开 我的电脑(此电脑)\属性\高级系统设置\环境变量

用Python自动清理系统垃圾的实现

cmd打开命令行输入 python 命令,如下图即成功:

用Python自动清理系统垃圾的实现

然后新建一个kill360.bat文件,输入一下内容:

python clean.py

将其和.py文件一起放到工作目录下

用Python自动清理系统垃圾的实现

然后打开任务计划程序

用Python自动清理系统垃圾的实现

创建任务及配置过程

用Python自动清理系统垃圾的实现

用Python自动清理系统垃圾的实现

用Python自动清理系统垃圾的实现

然后,就高枕无忧了。

到此这篇关于用Python自动清理系统垃圾的实现的文章就介绍到这了,更多相关Python自动清理系统垃圾内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python文件夹与文件的操作实现代码
Jul 13 Python
python用10行代码实现对黄色图片的检测功能
Aug 10 Python
Python制作刷网页流量工具
Apr 23 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
详谈python中冒号与逗号的区别
Apr 18 Python
Python登录系统界面实现详解
Jun 25 Python
Python模块汇总(常用第三方库)
Oct 07 Python
如何在python中实现随机选择
Nov 02 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
Python拼接字符串的7种方式详解
Mar 19 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
如何在Python项目中引入日志
May 31 Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 #Python
python爬虫爬取图片的简单代码
Jan 18 #Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 #Python
java关于string最常出现的面试题整理
Jan 18 #Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 #Python
python中四舍五入的正确打开方式
Jan 18 #Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
You might like
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
Python的lambda匿名函数的简单介绍
2013/04/25 Python
详解python中的json的基本使用方法
2016/12/21 Python
使用Python实现简单的服务器功能
2017/08/25 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python开发游戏的前期准备
2019/05/05 Python
java判断三位数的实例讲解
2019/06/10 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python作用域与名字空间原理详解
2020/03/21 Python
Python发送邮件实现基础解析
2020/08/14 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
入党申请人的自我鉴定
2013/12/01 职场文书
旷课检讨书3000字
2014/02/04 职场文书
企业军训感言
2014/02/08 职场文书
《检阅》教学反思
2016/02/22 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS