如何从c ++运行python程序

时间:2017-05-17 11:41:41

标签: python c++ python-3.x c++11

我正在尝试用c ++编写程序,但我不能编写程序,因为在代码的一部分我需要从c ++运行python程序而我不知道该怎么做。我一直在尝试多种方式,但没有一种方法可行。所以代码应该看起来像这样:somethingtoruntheprogram("pytestx.py");或接近它的东西。我更喜欢在没有python.h的情况下这样做。我只需要执行这个程序,我需要运行程序,因为我已经将带有sys.stdout和sys.stdin的python程序的输出和输入重定向到文本文件,然后我需要从这些文本文件中获取数据并进行比较。我正在使用Windows。

2 个答案:

答案 0 :(得分:3)

你有两种方法:

使用嵌入式解释器(IMHO)是最好的方法,因为它可以让你更好地控制脚本的执行,因为它不依赖于操作系统而且它不依赖于你的目标python interpreter(根据需要配置)。

答案 1 :(得分:0)

POSIX popen和Windows _popen,位于execsystem之间。它提供了stdinstdout所需的控制权,system没有。但另一方面,它并不像exec函数族那么复杂。