自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 還你一塊純潔無暇的移動硬盤

開發(fā) 后端
用過 Mac OS 的朋友應(yīng)該都遇到過,日常的文件操作會在同級目錄下產(chǎn)生一些特定的臨時文件。平常將文件夾打包成壓縮包或拷貝文件夾到移動硬盤內(nèi),臨時文件會包含在里面,如果是程序源代碼,在 Windows 系統(tǒng)下編譯有時候還會受到影響。

1.目標場景

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

[[281212]]

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

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

2.編寫代碼

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

  1. # 循環(huán)遍歷,對每一個驅(qū)動器進行判斷 
  2. while True
  3.         for item in disk_partitions(): 
  4.             if 'removable' in item.opts: 
  5.                 driver, opts = item.device, item.opts 
  6.                 # 刪除臨時文件 
  7.                 pass 
  8.                 break 
  9.             else
  10.                 continue 
  11.  
  12.         # 休眠5s,繼續(xù)遍歷 
  13.         sleep(5) 

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

  1. def remove_all_file(filepath, file_name): 
  2.     ""
  3.     刪除 MAC 臨時文件 
  4.     :param file_name: 
  5.     :return
  6.     ""
  7.     for root, dirs, files in os.walk(filepath): 
  8.         for name in files: 
  9.             print(name
  10.  
  11.             if name.startswith("._"or name == file_name: 
  12.                 os.remove(os.path.join(root, name)) 

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

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

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

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

  1. # 注冊服務(wù) 
  2. # instsrv.exe 服務(wù)名 srvany.exe 
  3. c:\instsrv.exe del_mac_tempfile c:\srvany.exe 

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

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

  1. # 注冊表服務(wù)的目錄 
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\  

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

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

3.結(jié)果結(jié)論

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

責(zé)任編輯:華軒 來源: AirPython
相關(guān)推薦

2009-12-31 10:43:01

Ubuntu 8.04

2014-12-15 15:58:45

移動互聯(lián)網(wǎng)校園

2009-12-02 15:53:53

Linux系統(tǒng)

2023-06-05 07:39:47

場景械硬盤安全

2024-12-30 07:15:00

OpenAIChatGPT人工智能

2009-08-18 09:04:55

Windows 7安裝移動硬盤安裝

2017-12-15 10:35:48

2017-08-03 09:09:06

NPMAPM管理

2017-11-08 08:31:57

NAS存儲移動硬盤

2013-03-22 14:05:11

2012-07-09 14:45:34

Ubuntulinux

2018-02-26 08:42:53

2019-12-02 16:05:30

網(wǎng)盤硬盤移動

2018-11-08 09:56:28

服務(wù)器移動硬盤

2014-05-09 12:50:15

iOS移動互聯(lián)網(wǎng)

2010-08-04 15:16:11

USB移動硬盤

2019-09-11 11:57:23

Python中秋節(jié)程序員

2010-03-15 16:52:38

Ubuntu Linu

2009-06-05 09:19:41

微軟Windows 7操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號