gpt4 book ai didi

c++ - 使用python运行C++程序并测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:36 26 4
gpt4 key购买 nike

假设我有一个简单的 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 脚本来运行这个程序,为其提供输入,并将结果输出到标准输出?我问了这个问题 here关于使用 C++ 运行它,但它似乎太复杂了。如果您能指导我查看一些代码示例,那就太棒了。任何帮助将不胜感激。

最佳答案

使用 pexpect .

正常的 stdin/stdout 管道通常不起作用,因为当文件描述符不是 TTY(通过 isatty调用)。显然,您可以在父级中修复此问题,因为您拥有该代码;只需在适当的时候调用 flush 即可。但通常子进程正在运行一些您不拥有的预先存在的代码。 pexpect 模块向子进程提供一个伪 tty,这会诱使子进程认为它正在与控制台对话。这与 xterm 和 rxvt 等 GUI 终端使用的技巧相同。

关于c++ - 使用python运行C++程序并测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com