Windows 中 Pyserial 和 Pexpect 的使用

Usage of Pyserial and Pexpect in Windows

我有一个脚本可以在 Ubuntu 中完美运行,但我希望它能在 Windows 机器上运行以用于生产环境。该脚本的一般用途是对 PCB 进行编程。

我在研究和调整这部分代码时遇到问题:

try: 
  fd = serial.Serial(Port, Baud) #Opens the specified port
  child = pexpect.fdpexpect.fdspawn(fd, timeout=180)
except:
  input('There has been an error making the connection, check your connections and try again\nPress enter to exit')
  sys.exit()
input('Press enter to continue, then apply 24V power to the unit')

问题在于:

child = pexpect.fdpexpect.fdspawn(fd, timeout=180)

非常感谢任何建议或修改!

Windows 似乎有些不同。 PySerial 上没有 fileno。

基于 this github issue 你可以尝试使用这样的东西:

import os
import pexpect.fdpexpect
port = "COM5"
reader = pexpect.fdpexpect.fdspawn(os.open(port, os.O_RDWR))