我有一個簡單的Python腳本,用於將字符發送到COM3上的設備。 (這是Windows XP上運行) 設備接收人物罰款,但腳本結束時,或者我稱之爲如何在Python中重寫PySerial的「__del__」方法?
ser.close() #ser is an instance of the `serial` method `Serial`
它設置DTR線串行口上高,重置設備。
通過這個困惑,我在PySerial文檔(http://pyserial.sourceforge.net/)戳周圍,發現模塊具有__del__
方法中,當串行實例被刪除它調用ser.close()
功能。
反正有覆蓋這個__del__
方法嗎?
(我寧願沒有從DTR線斷開我的設備復位線)
下面是我使用的基本代碼:
import serial
ser = serial.Serial()
ser.port = 2 #actually COM3
ser.baudrate = 9600
ser.open()
ser.write("Hello")
ser.close()
我剛剛嘗試過猴子修補,並且它拋出一個錯誤。 子類化沒有拋出錯誤,但設備仍然在接收DTR信號,即使刪除了最後一個「ser.close」。 – 2011-04-25 20:10:11
我剛剛註釋掉'set_DTR'函數,現在所有工作都正在進行。 謝謝你的幫助! – 2011-04-25 20:26:58