溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python怎么編寫一個自動清理系統垃圾功能

發布時間:2021-01-18 16:21:58 來源:億速云 閱讀:332 作者:Leah 欄目:開發技術

這篇文章給大家介紹使用Python怎么編寫一個自動清理系統垃圾功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、清理目標

系統盤 %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怎么編寫一個自動清理系統垃圾功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女