COM3의 장치에 문자를 보내도록 설정 한 간단한 Python 스크립트가 있습니다. (이것은 윈도우 XP에서 실행되는) 장치는 미세 문자를 수신하지만 스크립트가 종료 될 때, 또는 내가 뭔가를 내 장치를 재설정, 직렬 포트 하이에 DTR 라인을 설정Python에서 PySerial의 "__del__"메서드를 재정의하려면 어떻게해야합니까?
ser.close() #ser is an instance of the `serial` method `Serial`
를 호출합니다. 이 당황해
는, I는 PySerial 문서 (http://pyserial.sourceforge.net/) 주위에 찌르고 모듈이 직렬 인스턴스가 삭제되면 ser.close()
함수를 호출하는 방법 __del__
을 가지고 있다는 발견.
__del__
메서드를 재정의하려면 어떻게해야합니까?
다음
내가 사용하고있는 기본 코드이다 (필자는 DTR 라인에서 내 장치의 리셋 라인을 분리하지하는 것을 선호) :
import serial
ser = serial.Serial()
ser.port = 2 #actually COM3
ser.baudrate = 9600
ser.open()
ser.write("Hello")
ser.close()
방금 Monkey Patching을 시도했는데 오류가 발생했습니다. 서브 클래 싱은 오류를 발생시키지 않았지만 마지막 'ser.close'가 제거 된 상태에서도 장치가 여전히 DTR 신호를 수신합니다. –
방금'set_DTR' 함수를 주석 처리했습니다. 이제 모든 것이 작동합니다. 도움을 주셔서 감사합니다. –