与 Python 中的另一个命令行程序交互

2024-05-03

我需要编写一个 Python 脚本,它可以运行另一个命令行程序并与其标准输入和标准输出流交互。本质上,Python 脚本将从目标命令行程序中读取数据,通过写入其 stdin 进行智能响应,然后再次从程序中读取结果。 (它会重复执行此操作。)

我查看了子进程模块,但似乎无法让它执行我正在寻找的读/写/读/写操作。还有什么我应该尝试的吗?


要执行如此详细的交互(当在您的控制范围之外时,另一个程序可能正在缓冲其输出,除非它认为它正在与终端通信)需要类似的东西pexpect http://pexpect.sourceforge.net/pexpect.html——这反过来又需要pty,一个Python标准库模块,(在允许它的操作系统上,例如Linux和Mac OS x)实现“伪终端”。

Windows 上的生活更艰难,但也许这个压缩文件 http://sage.math.washington.edu/home/goreckc/sage/wexpect/wexpect.zip可以提供帮助——它应该是一个端口pexpect到Windows(抱歉,我没有Windows机器来检查它)。该项目名为wexpect, lives here http://code.google.com/p/wexpect/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与 Python 中的另一个命令行程序交互 的相关文章

随机推荐