正如@AlexHall在评论中所建议的,以下是一种解决方案,该解决方案对每个串行端口使用一个线程,并使用一个队列来同步访问:
import serialimport Queueimport threadingqueue = Queue.Queue(1000)def serial_read(s): while True: line = s.readline() queue.put(line)serial0 = serial.Serial('/dev/ttyUSB0')serial1 = serial.Serial('/dev/ttyUSB1')thread1 = threading.Thread(target=serial_read, args=(serial0,),).start()thread2 = threading.Thread(target=serial_read, args=(serial1,),).start()while True: line = queue.get(True, 1) print line也许可以更优雅地编写此代码,但是它可以工作。



