使用python运行C程序并测试它

前端之家收集整理的这篇文章主要介绍了使用python运行C程序并测试它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

假设我有一个简单的C程序,它接受输入并输出一些字符串.像这样(实际程序要复杂得多,但仍然基于文本):

$./game
$what kind of game? type r for regular,s for special.
$r
$choose a number from 1 - 10
$1
$no try again
$2
$no try again
$5
$yes you WIN!

我之前没有使用过Python,但有可能编写一个python脚本来运行这个程序,输入它并将结果输出到标准输出吗?我问过关于使用C运行它的问题here,但它似乎太复杂了.你能引导我看一些代码示例真是太棒了.任何帮助,将不胜感激.

最佳答案
使用pexpect.

正常的stdin / stdout管道通常不起作用,因为当文件描述符不是TTY时(通过isatty调用),父进程和子进程中的标准库设施倾向于更积极地缓冲I / O.显然,您可以在父级中修复此问题,因为您拥有该代码;只需在适当的位置调用flush.但是,子进程通常运行一些您不拥有的预先存在的代码. pexpect模块为子进程提供伪tty,这会欺骗孩子认为它正在与控制台通信.这与xterm和rxvt等GUI终端使用的技巧相同.

原文链接:https://www.f2er.com/python/439172.html

猜你在找的Python相关文章