欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文教你利用Python制作一個C盤清理器

 更新時間:2023年03月27日 09:56:19   作者:Python?集中營  
關于電腦的垃圾清理操作,已經有很多的成熟的軟件可以幫助我們完成C盤的垃圾清理操作,比如360等等。但是使用三方的清理軟件往往伴隨著很多的廣告,所以本文就來用Python制作一個C盤清理器吧

關于電腦的垃圾清理操作,已經有很多的成熟的軟件可以幫助我們完成C盤的垃圾清理操作,比如360等等。

但是使用三方的清理軟件往往伴隨著很多的廣告,而且很多離線情況下并不允許安裝這樣的三方軟件工具。

作為程序猿,自己動手才能豐衣足食,于是想著何不使用python制作一個簡易的C盤清理工具徹底擺脫系統(tǒng)盤日益膨脹的煩惱呢?

關于python的文件清理操作,實際上我們使用標準模塊os即可滿足所有的文件操作。

一般在C盤的清理過程中,我們能夠清理的文件類型主要如下:

'''
'.tmp':?'臨時文件',
????'._mp':?'臨時文件_mp',
????'.log':?'日志文件',
????'.gid':?'臨時幫助文件',
????'.chk':?'磁盤檢查文件',
????'.old':?'臨時備份文件',
????'.xlk':?'Excel備份文件',
????'.bak':?'臨時備份文件bak'
'''

既然已經知道了需要清理的文件類型,那實現思路就是將這些文件找出來后刪除掉即可。

將我們接下來代碼塊中使用到的os標準模塊直接導入到代碼塊中。

#?Importing?the?os?module.
import?os

現在可以將一些全局變量首先定義好,比如全局的系統(tǒng)操作路徑、待清理的文件后綴名等等。

#?待清理的文件后綴名稱
suffix_dict?=?{
????'.tmp':?'臨時文件',
????'._mp':?'臨時文件_mp',
????'.log':?'日志文件',
????'.gid':?'臨時幫助文件',
????'.chk':?'磁盤檢查文件',
????'.old':?'臨時備份文件',
????'.xlk':?'Excel備份文件',
????'.bak':?'臨時備份文件bak'
}

#?用戶緩存數據類型名稱
user_profile_list?=?[
????'cookies',?'recent',?'Temporary?Internet?Files',?'Temp'
]

#?windows系統(tǒng)路徑文件類型
windir_list?=?[
????'prefetch',?'temp'
]

#?系統(tǒng)驅動路徑
sys_drive?=?os.environ['systemdrive']?+?'\\'

#?用戶緩存路徑
user_profile?=?os.environ['userprofile']

#?windows系統(tǒng)路徑
win_dir?=?os.environ['windir']

以上相關的C盤清理的全局變量已經設置完成了,接下來我們創(chuàng)建一個ClaenFilesUtil的類來完成對文件清理的業(yè)務操作過程。

#?This?class?is?used?to?clean?up?files?in?a?directory
class?CleanFilesUtil():
????def?__init__(self):
????????"""
????????A?constructor.?It?is?called?when?an?object?is?created?from?a?class?and?it?allows?the?class?to?initialize?the
????????attributes?of?a?class.
????????"""
????????self.del_info?=?{}
????????self.del_file_paths?=?[]
????????self.total_size?=?0
????????for?suffix_name,?comment?in?suffix_dict.items():
????????????self.del_info[suffix_name]?=?dict(name=comment,?count=0)

????def?scanf_files(self):
????????"""
????????It?takes?a?list?of?files,?and?returns?a?list?of?lists?of?the?lines?in?each?file
????????"""
????????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_count_message(self):
????????"""
????????It?prints?the?number?of?messages?in?the?inbox.
????????"""
????????byte?=?self.format_size(self.total_size)
????????for?i?in?self.del_info:
????????????print(self.del_info[i]["name"],?"共計",?self.del_info[i]["count"],?"個")
????????return?byte

????def?format_size(self,?byte):
????????"""
????????It?takes?a?number?of?bytes?and?returns?a?string?with?the?number?of?bytes,?kilobytes,?megabytes,?or?gigabytes,
????????depending?on?the?size

????????:param?byte:?The?size?in?bytes
????????"""
????????try:
????????????kb?=?byte?//?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

????def?remove_file_or_dir(self):
????????"""
????????>?This?function?removes?a?file?or?directory
????????"""
????????for?full_path_one?in?self.del_file_paths:
????????????try:
????????????????if?os.path.isfile(full_path_one):
????????????????????os.remove(full_path_one)
????????????????????print("文件:",?full_path_one,?"已移除")
????????????????elif?os.path.isdir(full_path_one):
????????????????????os.rmdir(full_path_one)
????????????????????print("文件夾",?full_path_one,?"已移除")

????????????except?WindowsError:
????????????????print("錯誤:",?full_path_one,?"不能被移除")


if?__name__?==?"__main__":
????print("開始初始化C盤清理程序")
????clean_?=?CleanFilesUtil()
????print('C盤清理程序初始化完成')
????print("開始掃描所有待清理文件路徑")
????clean_.scanf_files()
????print("完成所有待清理文件路徑掃描")
????print("掃描完成以下是需要待清理的文件路徑:")
????clean_.show_count_message()
????print("開始執(zhí)行C盤垃圾文件刪除")
????clean_.remove_file_or_dir()
????print("所有C盤垃圾文件已清理完成")
????input("輸入任意鍵關閉窗口...")

以上就是所有C盤垃圾清理的主要程序業(yè)務代碼了,但是為了將該清理工具設置成定時任務去執(zhí)行。

于是,我想到了前幾天發(fā)布的文章[python不要再使用while死循環(huán),使用定時器代替效果更佳!],可以通過定時器的方式來滿足業(yè)務要求。

除了使用代碼塊來完成定時還可以通過配置windows或其他操作系統(tǒng)的定時任務來完成定時執(zhí)行的需求。

最后,為了方便沒有python基礎的小伙伴可以直接使用該工具,我將其打包成了exe應用程序。

到此這篇關于一文教你利用Python制作一個C盤清理器的文章就介紹到這了,更多相關Python C盤清理器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python將圖片轉base64,實現前端顯示

    python將圖片轉base64,實現前端顯示

    今天小編就為大家分享一篇python將圖片轉base64,實現前端顯示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Tornado實現多進程/多線程的HTTP服務詳解

    Tornado實現多進程/多線程的HTTP服務詳解

    這篇文章主要介紹了Tornado實現多進程/多線程的HTTP服務詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值
    2019-07-07
  • LyScript獲取上一條與下一條匯編指令的方法詳解

    LyScript獲取上一條與下一條匯編指令的方法詳解

    LyScript 插件默認并沒有提供上一條與下一條匯編指令的獲取功能,當然你可以使用LyScriptTools工具包直接調用內置命令得到,本文就為大家詳細講講如何實現
    2022-07-07
  • 如何徹底解決Python中matplotlib不顯示中文的問題詳解(顯示方框)

    如何徹底解決Python中matplotlib不顯示中文的問題詳解(顯示方框)

    Matplotlib繪制圖像顯示中文的時候,中文會變成小方格子,下面這篇文章主要給大家介紹了關于如何徹底解決Python中matplotlib不顯示中文問題的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Python接口自動化測試的實現

    Python接口自動化測試的實現

    這篇文章主要介紹了Python接口自動化測試的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Django drf使用Django自帶的用戶系統(tǒng)的注冊功能

    Django drf使用Django自帶的用戶系統(tǒng)的注冊功能

    本文主要介紹了Django drf使用Django自帶的用戶系統(tǒng)的注冊功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • 對python中的iter()函數與next()函數詳解

    對python中的iter()函數與next()函數詳解

    今天小編就為大家分享一篇對python中的iter()函數與next()函數詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python中threading開啟關閉線程操作

    python中threading開啟關閉線程操作

    這篇文章主要介紹了python中threading開啟關閉線程操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python OpenCV讀取顯示視頻的方法示例

    Python OpenCV讀取顯示視頻的方法示例

    這篇文章主要介紹了 Python OpenCV讀取顯示視頻的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • python中讀入二維csv格式的表格方法詳解(以元組/列表形式表示)

    python中讀入二維csv格式的表格方法詳解(以元組/列表形式表示)

    這篇文章主要介紹了python中如何讀入二維csv格式的表格(以元組/列表形式表示),本文通過兩種方法給大家詳細介紹,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04

最新評論