如何从两个不同的进程访问串行端口(Python)

K. *_*ord 6 python serial-port multiprocessing

我想使用多处理(以避免多核机器上的 GIL 问题)并使用相同的串行端口进行读取进程和写入进程。那可能吗?如果是这样,如何获取端口,然后如何获取子进程可以使用的文件对象?

编辑——这需要在 Windows 上运行,但 Mac 和 Linux 也很好。

jsb*_*eno 4

正如评论中所述,一次只有一个进程可以获取串行端口 - 因此,可行的方法是创建另一个进程,可能使用 Python xmlrpc 或 jsonrpc,它将执行实际的硬件 I/O,并修改您当前的读写脚本来调用其他进程上的远程函数。

库文档中的示例应该足以使用 xmlrpc 实现此类“I/O 服务器进程”: http ://docs.python.org/library/simplexmlrpcserver.html