資訊內(nèi)容
純潔無瑕的移動(dòng)硬盤又回來了(Python)
w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1、目標(biāo)場(chǎng)景w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
用過Mac OS的朋友應(yīng)該都遇到過,日常的文件操作會(huì)在同級(jí)目錄下產(chǎn)生一些特定的臨時(shí)文件。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
平常將文件夾打包成壓縮包或拷貝文件夾到移動(dòng)硬盤內(nèi),臨時(shí)文件會(huì)包含在里面,如果是程序源代碼,在Windows系統(tǒng)下編譯有時(shí)候還會(huì)受到影響。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
本篇文章的目的是在移動(dòng)硬盤插入到電腦的同時(shí),利用python自動(dòng)化和Windows服務(wù)刪除掉這些臨時(shí)文件。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2、編寫代碼w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
首先,我們需要循環(huán)檢測(cè)PC的驅(qū)動(dòng)器,判斷是否存在可移動(dòng)的磁盤。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
# 循環(huán)遍歷,對(duì)每一個(gè)驅(qū)動(dòng)器進(jìn)行判斷 while True: for item in disk_partitions(): if 'removable' in item.opts: driver, opts = item.device, item.opts # 刪除臨時(shí)文件 pass break else: continue # 休眠5s,繼續(xù)遍歷 sleep(5)如果檢測(cè)到存在可移動(dòng)的磁盤,就遍歷文件,刪除Mac臨時(shí)文件。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
def remove_all_file(filepath, file_name): """ 刪除 MAC 臨時(shí)文件 :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í)行文件。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
# 安裝 pyinstaller pip3 install pyinstaller # 把 py 文件打包成 exe 可執(zhí)行文件 # 圖標(biāo):img.ico pyinstaller -F -i img.ico del_mac_files.py為了保證程序一直在后臺(tái)運(yùn)行,我們需要?jiǎng)?chuàng)建一個(gè)系統(tǒng)服務(wù),讓將可執(zhí)行文件一直在后臺(tái)執(zhí)行。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
instsrv.exe和srvany.exe這兩個(gè)文件可以非常方便的創(chuàng)建系統(tǒng)服務(wù)。其中,instsrv.exe用于創(chuàng)建、刪除服務(wù);srvany.exe用于保障服務(wù)能正常啟動(dòng)。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
# 注冊(cè)服務(wù) # instsrv.exe 服務(wù)名 srvany.exec:instsrv.exe del_mac_tempfile c:srvany.exe需要注意的是,運(yùn)行注冊(cè)服務(wù)命令時(shí),需要以管理員權(quán)限運(yùn)行CMD來執(zhí)行。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
注冊(cè)完服務(wù)之后,還需要通過注冊(cè)表把服務(wù)和可執(zhí)行程序關(guān)聯(lián)起來。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
# 注冊(cè)表服務(wù)的目錄 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices在注冊(cè)表中找到上面創(chuàng)建的服務(wù),新建一個(gè)Parameters的項(xiàng),在項(xiàng)內(nèi)再創(chuàng)建兩個(gè)字符串,分別指向可執(zhí)行文件和可執(zhí)行文件的完整目錄。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
**后,services.msc命令打開服務(wù)管理,找到目標(biāo)服務(wù),設(shè)置允許服務(wù)和桌面交互,設(shè)置開啟服務(wù)并設(shè)置為自啟。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
3、結(jié) 果 結(jié) 論w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
通過以上注冊(cè)的服務(wù),每次插入移動(dòng)硬盤,都會(huì)自動(dòng)去遍歷移動(dòng)硬盤盤的文件,查找Mac臨時(shí)文件并刪除。w3N少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

- 上一篇
python隨機(jī)顏色怎么用
簡(jiǎn)介利用Python隨機(jī)生成顏色的代碼:import randomdef randomcolor(): colorArr = ['1','2','3','4
- 下一篇
給小白整理的最后一篇 Python知識(shí)點(diǎn)
簡(jiǎn)介python視頻教程欄目介紹最后一篇知識(shí)點(diǎn)。13、Python標(biāo)準(zhǔn)庫Python標(biāo)準(zhǔn)庫是隨Pthon附帶安裝的,包含了大量極其有用的模塊。我們主要了解下sys和os就夠了。13.1sys模塊sys模塊主要是針對(duì)與Python解釋器相關(guān)的變量和方法,不是主機(jī)操作系統(tǒng)。sys.argv#獲取命令行參數(shù)列