這篇文章給大家介紹使用Python怎么編寫一個(gè)自動(dòng)清理系統(tǒng)垃圾功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為長(zhǎng)豐等服務(wù)建站,長(zhǎng)豐等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為長(zhǎng)豐企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。一、清理目標(biāo)
系統(tǒng)盤 %system% 下文件類型:
【臨時(shí)文件(*.tmp)】 【臨時(shí)文件(*._mp)】 【日志文件(*.log)】 【臨時(shí)幫助文件(*.gid)】 【磁盤檢查文件(*.chk)】 【臨時(shí)備份文件(*.old)】 【Excel備份文件(*.xlk)】 【臨時(shí)備份文件(*.bak)】
用戶目錄 %userprofile% 下文件夾
【COOKIE】 cookies\*.* 【文件使用記錄】 recent\*.* 【IE臨時(shí)文件】 Temporary Internet Files\*.* 【臨時(shí)文件文件夾】 Temp\*.*.
Windows 目錄 %windir% 下文件夾
【預(yù)讀取數(shù)據(jù)文件夾】 prefetch\*.* 【臨時(shí)文件】 temp\*.*
Python os 模塊提供了非常豐富的方法用來(lái)處理文件和目錄,它會(huì)自適應(yīng)于不同的操作系統(tǒng)平臺(tái),根據(jù)不同的平臺(tái)進(jìn)行相應(yīng)的操作,在python編程時(shí),經(jīng)常和文件、目錄打交道,這時(shí)就離不了os模塊。
具體就不過(guò)多介紹,大家可以看一下官方文檔,也沒(méi)必要細(xì)究,用到哪個(gè)知道怎么查就行了。
https://docs.python.org/zh-cn/3/library/os.html
造輪子不如站在巨人的肩膀上,發(fā)現(xiàn)已經(jīng)有博主寫過(guò)了,不過(guò)是用Python2編寫的,print的地方改一下就行了。
import os del_extension = { '.tmp': '臨時(shí)文件', '._mp': '臨時(shí)文件_mp', '.log': '日志文件', '.gid': '臨時(shí)幫助文件', '.chk': '磁盤檢查文件', '.old': '臨時(shí)備份文件', '.xlk': 'Excel備份文件', '.bak': '臨時(shí)備份文件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é)格式不對(duì)") 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"],"共計(jì)",self.del_info[i]["count"],"個(gè)") 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("開(kāi)始掃描垃圾文件請(qǐng)耐心等待\n") cleaner.scanf() print("掃描成功,結(jié)果如下") re = cleaner.show() cleaner.delete_files()
調(diào)通之后另存為kill360.py,保存到python的工作目錄,不知道工作目錄可以運(yùn)行os.getcwd()查看。
另外還需要確保python的安裝目錄已添加到path系統(tǒng)變量中,方法:在電腦中,右鍵打開(kāi) 我的電腦(此電腦)\屬性\高級(jí)系統(tǒng)設(shè)置\環(huán)境變量
cmd打開(kāi)命令行輸入 python 命令,如下圖即成功:
然后新建一個(gè)kill360.bat文件,輸入一下內(nèi)容:
python clean.py
將其和.py文件一起放到工作目錄下
然后打開(kāi)任務(wù)計(jì)劃程序
創(chuàng)建任務(wù)及配置過(guò)程
關(guān)于使用Python怎么編寫一個(gè)自動(dòng)清理系統(tǒng)垃圾功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。