?再見,360安全衛(wèi)士!
在Windows在安裝和使用過程中都會產(chǎn)生相當多的垃圾文件,包括臨時文件(如:.tmp、._mp)日志文件(.log)、臨時幫助文件(.gid)、磁盤檢查文件(.chk)、臨時備份文件(如:.old、*.bak)以及其他臨時文件。特別是如果一段時間不清理IE的臨時文件夾“Temporary Internet Files”,其中的緩存文件有時會占用上百MB的磁盤空間。這些LJ文件不僅僅浪費了寶貴的磁盤空間,嚴重時還會使系統(tǒng)運行慢如蝸牛。
清理電腦垃圾最常用的是360安全衛(wèi)士,看著清理完成,釋放了N個GB的空間,別提多舒適了。但是作為Pythoneer自然要玩點不一樣的,這里向大家介紹一種利用任務計劃執(zhí)行py腳本實現(xiàn)自動清理電腦垃圾的方法,感興趣的同學可以試試。
同學們也不要太較真哈,這個方法肯定不能跟360媲美,其實很早之前網(wǎng)上有個清除垃圾的.bat文件也能清理電腦垃圾文件,本文主要目的是換一種姿勢學習Python。
清理目標
系統(tǒng)盤 %system% 下文件類型:
【臨時文件(*.tmp)】
【臨時文件(*._mp)】
【日志文件(*.log)】
【臨時幫助文件(*.gid)】
【磁盤檢查文件(*.chk)】
【臨時備份文件(*.old)】
【Excel備份文件(*.xlk)】
【臨時備份文件(*.bak)】
用戶目錄 %userprofile% 下文件夾
【COOKIE】?cookies\*.*
【文件使用記錄】?recent\*.*
【IE臨時文件】?Temporary?Internet?Files\*.*
【臨時文件文件夾】?Temp\*.*.
Windows 目錄 %windir% 下文件夾
【預讀取數(shù)據(jù)文件夾】?prefetch\*.*
【臨時文件】?temp\*.*
Python os
Python os 模塊提供了非常豐富的方法用來處理文件和目錄,它會自適應于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應的操作,在python編程時,經(jīng)常和文件、目錄打交道,這時就離不了os模塊。
具體就不過多介紹,大家可以看一下官方文檔,也沒必要細究,用到哪個知道怎么查就行了。
https://docs.python.org/zh-cn/3/library/os.html
Python腳本
造輪子不如站在巨人的肩膀上,發(fā)現(xiàn)已經(jīng)有博主寫過了,不過是用Python2編寫的,print的地方改一下就行了。
https://www.cnblogs.com/ruler-madman/p/13445863.html
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("傳入字節(jié)格式不對")
????????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("掃描成功,結(jié)果如下")
????re?=?cleaner.show()
????cleaner.delete_files()
調(diào)通之后另存為kill360.py,保存到python的工作目錄,不知道工作目錄可以運行os.getcwd()查看。另外還需要確保python的安裝目錄已添加到path系統(tǒng)變量中,方法:在電腦中,右鍵打開 我的電腦(此電腦)\屬性\高級系統(tǒng)設置\環(huán)境變量
cmd打開命令行輸入 python 命令,如下圖即成功:
然后新建一個kill360.bat文件,輸入一下內(nèi)容,然后將其和.py文件一起放到工作目錄下。
python?kill360.py
任務計劃程序
打開任務計劃程序
創(chuàng)建任務及配置過程
觸發(fā)預設條件,電腦就會自動執(zhí)行kill360.py文件,自動清理電腦垃圾。以后,就高枕無憂了。
推薦閱讀:
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復「1024」,即可免費獲?。?!







