【发布时间】:2012-12-28 21:21:41
【问题描述】:
有一个用 C 语言编写和编译的程序,典型的数据输入来自 Unix shell;另一方面,我使用的是 Windows。
我需要从我自己用 Python 编写的代码的输出中向这个程序发送输入。
执行此操作的最佳方法是什么?我读过pexpect,但不确定如何实现它;谁能解释解决这个问题的最佳方法?
【问题讨论】:
-
这是一个 C 还是 C++ 问题?
-
按照你描述的方式,很难判断这是否是一个过滤程序(如
grep或sort),它只接受一个标准输入流并写入一个标准输出流,或者它是否是一个带有提示和响应的交互式 CLI 程序(如python本身)。如果是前者,subprocess.communicate就是你所需要的;如果是后者,pexpect是一个不错的选择,但除非您提出比“如何实现它”更具体的问题,否则没人能真正帮助您。 -
因此 C 中的程序将是 python 中的“模块”。我想通过从 python 发送输入、获取 C 程序的输出并在我自己的 python 代码中使用它来访问这些函数。这有意义吗?
标签: python c windows shell interfacing