如何使用Python中的伪终端来模拟串口?

Dol*_*nga 5 python linux twisted

我正在使用twisted 创建一个python 应用程序,它从串行端口读取行。为了(单元)测试该应用程序而无需将实际设备连接到串行端口(也在没有实际串行端口的电脑上)我想创建一个 python 脚本/应用程序来设置虚拟串行端口并写入它,因此扭曲的应用程序可以连接到虚拟串行端口的另一端并从中读取。这样我就可以编写一些单元测试。

我发现在 Linux 中使用伪终端是可能的。我还在https://askubuntu.com/questions/9396/virtual-serial-port-for-testing- Purpose 上找到了一个工作示例脚本。

我想将该脚本更改为一个类,在该类上我可以调用写入方法将数据写入串行端口,然后测试扭曲的应用程序。

这个示例脚本使用 poll 和 select 以及一个我不太理解的 linux stty 命令做了很多事情。我希望有人可以填补我的知识空白或提供一些提示。

干杯,

多尔夫.

Jea*_*one 1

您不需要 pty 来测试您的协议。您甚至不需要任何类型的文件描述符。请遵循http://twistedmatrix.com/documents/current/core/howto/trial.html中的指南,特别是测试协议部分。