1. 程式人生 > >python2.7 串列埠操作方式 編譯 .py為windows可執行exe檔案

python2.7 串列埠操作方式 編譯 .py為windows可執行exe檔案

一 python操作串列埠

  程式碼實現:

import serial

ser = serial.Serial('/dev/ttyUSB2', 115200)
print ser.portstr
while True:
    str = ser.read(10)
    print str
    strInput = raw_input('enter some words:')  
    n = t.write(strInput)                                                                                                                                                                        
此處的/dev/ttyUSB2 是針對linux的串列埠裝置檔案,windows 上可以是 com1,com2 等。

二 使用py2exe 把py檔案編譯成exe可執行檔案

這個還是很有必要的,特別是在沒有安裝python環境的機器上跑python程式。

首先下載py2exe程式:點選開啟連結

假設現在有意個upsdaemon.py程式需要編譯成exe檔案,首先需要一個setup.py 檔案:

# setup.py
from distutils.core import setup
import py2exe
 
setup(console=["upsdaemon.py"])
並且需要和程式碼放在同一目錄下。

在cmd串列埠上執行:


上面的命令執行後將產生一個名為dist的子目錄:


如果你的upsdaemon.py指令碼中用了已編譯的C擴充套件模組,那麼這些模組也會被拷貝在個子目錄中,同樣,所有的dll檔案在執行時都是需要的,除了系統的dll檔案。
dist子目錄中的檔案包含了你的程式所必須的東西,你應將這個子目錄中的所有內容一起釋出。

預設情況下,py2exe在目錄dist下建立以下這些必須的檔案:

1.一個或多個exe檔案。
2.python##.dll。
3.幾個.pyd檔案,它們是已編譯的副檔名,它們是exe檔案所需要的;加上其它的.dll檔案,這些.dll是.pyd所需要的。
4.一個library.zip檔案,它包含了已編譯的純的python模組如.pyc或.pyo

上面的upsdaemon.py建立了一個控制檯的upsdaemon.exe程式,如果你要建立一個圖形使用者界的程式,那麼你只需要將upsdaemon.py中的console=["upsdaemon.py"]替換為windows=["upsdaemon.py"]既可。

py2exe一次能夠建立多個exe檔案,你需要將這些指令碼檔案的列表傳遞給console或windows的關鍵字引數。如果你有幾個相關聯的指令碼,那麼這是很有用的。
執行下面個命令,將顯示py2exe命令的所有命令列標記。

python upsdaemon.py py2exe --help

三 建立相對路徑的快捷方式

由於可執行檔案在dist目錄下,執行起來不方便,建立一個快捷方式到dist的上一層目錄很有必要,但是快捷方式預設都是用絕對路徑,拷貝到其他電腦上不一定能夠執行。

所以使用相對路徑的方式。

建立快捷方式到dist上一層目錄,右擊屬性,修改目標為:

%windir%\system32\cmd.exe /c start dist\upsdaemon.exe
儲存後雙擊快捷方式即可執行。