久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

利用python清除移動硬盤中的臨時文件

瀏覽:84日期:2022-07-06 18:24:20

1、目標場景

用過Mac OS的朋友應該都遇到過,日常的文件操作會在同級目錄下產(chǎn)生一些特定的臨時文件。

平常將文件夾打包成壓縮包或拷貝文件夾到移動硬盤內(nèi),臨時文件會包含在里面,如果是程序源代碼,在Windows系統(tǒng)下編譯有時候還會受到影響。

本篇文章的目的是在移動硬盤插入到電腦的同時,利用Python自動化和Windows服務刪除掉這些臨時文件。

2、編寫代碼

首先,我們需要循環(huán)檢測PC的驅(qū)動器,判斷是否存在可移動的磁盤。

# 循環(huán)遍歷,對每一個驅(qū)動器進行判斷while True:for item in disk_partitions(): if ’removable’ in item.opts:driver, opts = item.device, item.opts# 刪除臨時文件passbreak else:continue# 休眠5s,繼續(xù)遍歷sleep(5)

如果檢測到存在可移動的磁盤,就遍歷文件,刪除Mac臨時文件。

def remove_all_file(filepath, file_name): ''' 刪除 MAC 臨時文件 :param file_name: :return: ''' for root, dirs, files in os.walk(filepath):for name in files: print(name) if name.startswith('._') or name == file_name:os.remove(os.path.join(root, name))

接著,我們利用pyinstaller將Python文件打包成Exe可執(zhí)行文件。

# 安裝 pyinstaller pip3 install pyinstaller # 把 py 文件打包成 exe 可執(zhí)行文件# 圖標:img.icopyinstaller -F -i img.ico del_mac_files.py

為了保證程序一直在后臺運行,我們需要創(chuàng)建一個系統(tǒng)服務,讓將可執(zhí)行文件一直在后臺執(zhí)行。

instsrv.exe和srvany.exe這兩個文件可以非常方便的創(chuàng)建系統(tǒng)服務。其中,instsrv.exe用于創(chuàng)建、刪除服務;srvany.exe用于保障服務能正常啟動。

# 注冊服務# instsrv.exe 服務名 srvany.exec:instsrv.exe del_mac_tempfile c:srvany.exe

需要注意的是,運行注冊服務命令時,需要以管理員權限運行CMD來執(zhí)行。

注冊完服務之后,還需要通過注冊表把服務和可執(zhí)行程序關聯(lián)起來。

# 注冊表服務的目錄HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices

在注冊表中找到上面創(chuàng)建的服務,新建一個Parameters的項,在項內(nèi)再創(chuàng)建兩個字符串,分別指向可執(zhí)行文件和可執(zhí)行文件的完整目錄。

利用python清除移動硬盤中的臨時文件

最后,services.msc命令打開服務管理,找到目標服務,設置允許服務和桌面交互,設置開啟服務并設置為自啟。

利用python清除移動硬盤中的臨時文件

3、結 果 結 論

通過以上注冊的服務,每次插入移動硬盤,都會自動去遍歷移動硬盤盤的文件,查找Mac臨時文件并刪除。

以上就是利用python清除移動硬盤中的臨時文件的詳細內(nèi)容,更多關于python 清除文件的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 恩平市| 阜南县| 太仆寺旗| 铜川市| 白玉县| 新乡县| 永州市| 晋宁县| 德保县| 什邡市| 老河口市| 青海省| 独山县| 镶黄旗| 织金县| 平果县| 富裕县| 会宁县| 东明县| 依兰县| 万宁市| 鄂托克前旗| 南投市| 松阳县| 盈江县| 遂宁市| 治县。| 蒲江县| 新和县| 阿克陶县| 巴彦淖尔市| 江都市| 福清市| 济南市| 绩溪县| 宜宾县| 长泰县| 富平县| 九江县| 霸州市| 白玉县|