如何从 c++ 运行 python 程序

How to run a python program from c++

本文关键字:python 程序 运行 c++      更新时间:2023-10-16

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

你有两种方法可以做到这一点:

  • 使用 system/forkexec*/...
  • 在你的程序中嵌入一个python解释器(cf python 2.6 doc或boost.python(

使用嵌入式解释器是(恕我直言(最好的方法,因为它可以让您更好地控制脚本的执行,因为它不依赖于操作系统,并且不依赖于您的目标具有 python 解释器(根据需要配置(。

Windows _popen上有POSIX popen,介于execsystem之间。它提供了对stdinstdout所需的控制,而system没有。但另一方面,它并不像exec函数系列那么复杂。