清理電腦垃圾最常用的是360安全衛(wèi)士,看著清理完成,釋放了N個GB的空間,別提多舒適了。但是作為Pythoneer自然要玩點不一樣的,這里向大家介紹一種利用任務(wù)計劃執(zhí)行py腳本實現(xiàn)自動清理電腦垃圾的方法,感興趣的同學(xué)可以試試。
同學(xué)們也不要太較真哈,這個方法肯定不能跟360媲美,其實很早之前網(wǎng)上有個清除垃圾的.bat文件也能清理電腦垃圾文件,本文主要目的是換一種姿勢學(xué)習(xí)Python。
清理目標(biāo)
系統(tǒng)盤 %system% 下文件類型:
【臨時文件(*.tmp)】
【臨時文件(*._mp)】
【日志文件(*.log)】
【臨時幫助文件(*.gid)】
【磁盤檢查文件(*.chk)】
【臨時備份文件(*.old)】
【Excel備份文件(*.xlk)】
【臨時備份文件(*.bak)】
用戶目錄 %userprofile% 下文件夾
【COOKIE】 cookies\*.*
【文件使用記錄】 recent\*.*
【IE臨時文件】 Temporary Internet Files\*.*
【臨時文件文件夾】 Temp\*.*.
Windows 目錄 %windir% 下文件夾
【預(yù)讀取數(shù)據(jù)文件夾】 prefetch\*.*
Python os
【臨時文件】 temp\*.*
Python os 模塊提供了非常豐富的方法用來處理文件和目錄,它會自適應(yīng)于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應(yīng)的操作,在python編程時,經(jīng)常和文件、目錄打交道,這時就離不了os模塊。
具體就不過多介紹,大家可以看一下官方文檔,也沒必要細究,用到哪個知道怎么查就行了。
https://docs./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)設(shè)置\環(huán)境變量
cmd打開命令行輸入 python 命令,如下圖即成功:
然后新建一個kill360.bat文件,輸入一下內(nèi)容,然后將其和.py文件一起放到工作目錄下。
python kill360.py
???????????
任務(wù)計劃程序
打開任務(wù)計劃程序
觸發(fā)預(yù)設(shè)條件,電腦就會自動執(zhí)行kill360.py文件,自動清理電腦垃圾。以后,就高枕無憂了。
同學(xué)們學(xué)廢了嗎?給了三連可好?
本書是指導(dǎo)零基礎(chǔ)人員學(xué)習(xí)并運用 Python 進行編程的實用工具書,在編寫過程中充分考慮了讀者的理解能力和程序在生活中的應(yīng)用場景,以基礎(chǔ)語法與應(yīng)用相結(jié)合作為一條主線來進行講解,講敘內(nèi)容循序漸進,案例豐富翔實,并且全部來源于實際工作開發(fā)中。