我正在尝试用c ++编写程序,但我不能编写程序,因为在代码的一部分我需要从c ++运行python程序而我不知道该怎么做。我一直在尝试多种方式,但没有一种方法可行。所以代码应该看起来像这样:somethingtoruntheprogram("pytestx.py");
或接近它的东西。我更喜欢在没有python.h的情况下这样做。我只需要执行这个程序,我需要运行程序,因为我已经将带有sys.stdout和sys.stdin的python程序的输出和输入重定向到文本文件,然后我需要从这些文本文件中获取数据并进行比较。我正在使用Windows。
答案 0 :(得分:3)
你有两种方法:
system
/ fork
和exec*
/ ... 使用嵌入式解释器(IMHO)是最好的方法,因为它可以让你更好地控制脚本的执行,因为它不依赖于操作系统而且它不依赖于你的目标python interpreter(根据需要配置)。
答案 1 :(得分:0)
POSIX popen
和Windows _popen
,位于exec
和system
之间。它提供了stdin
和stdout
所需的控制权,system
没有。但另一方面,它并不像exec
函数族那么复杂。