0

コマンドラインから引数を渡して、このスクリプトを実行したいと思います。

import serial
import sys

try:
  ser = serial.Serial("COM7", 9600)
except serial.SerialException:
  print("Exception...")


if sys.argv[1] == "on":
   ser.write("m".encode('latin1'))
   print("Light on...")
elif sys.argv[1] == "off":
   ser.write("n".encode('latin1'))
   print("Light off...")

ser.close()

スクリプトがコマンド ラインから起動された場合、シリアル デバイスはシリアル通信を介して送信された文字を取得しません。

C:\users\user\Desktop\seriale.py on

Python IDLE(sys.argvを確実に削除)を介して起動すると、シリアルデバイスがデータを正常に取得します。何が間違っている可能性がありますか?

4

0 に答える 0