如何从C++程序运行Python脚本?

2024-09-29 01:32:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经找到了一些我知道需要包含Python.h的东西

Py_Initialize();
//code that runs the python script
Py_Finalize();

打开和关闭翻译程序,但中间的部分让我迷路了。关于这个主题,我可以找到的大多数信息都使用Py_SimpleString()命令和一些参数。我已经搜索了一段时间,但找不到任何文档清楚地说明该命令的作用或如何使用它。

我不一定需要Python脚本来直接把值传递给C++程序。它是写到文本文件,C++可以为需要的文本解析文本文件。我只需要让.py文件运行并执行其函数。

感谢您的帮助!


Tags: thepy命令信息主题参数thatruns
2条回答

从C++程序中运行Python脚本最简单的方法是通过pyRunIsSimeStutuin(),如在{{a1}:

的示例中所示
#include <Python.h>

int main(int argc, char *argv[])
{
  Py_SetProgramName(argv[0]);  /* optional but recommended */
  Py_Initialize();
  PyRun_SimpleString("from time import time,ctime\n"
                     "print 'Today is',ctime(time())\n");
  Py_Finalize();
  return 0;
}

如果要运行存储在.py文件中的脚本,而不是直接将Python源文本作为字符串提供,可以调用PyRun_SimpleFile()而不是py run_SimpleString()。

相关问题 更多 >