C++程序是否可以导入并执行另一个解释Python脚本的C++程序?[关闭]

7rtdyuoh  于 2023-06-28  发布在  Python
关注(0)|答案(1)|浏览(101)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

7小时前关闭
Improve this question
我正在使用几十年前的C软件,它不知道Python是什么。但是,该软件可以导入较新的C程序。我想知道是否有可能创建一个更新的C++ Package 器,可以调用Python脚本,以便旧软件最终可以编译和解释Python?
在我的新程序中,我尝试创建一个调用Python解释器的C++类,但是旧软件的库不能识别Python解释器。

q3qa4bjr

q3qa4bjr1#

您可以在C++ Package 器中使用Python.h头文件来导入目标python文件,例如,输出特定函数的结果。示例:
script.py:

def function_to_call():
    return 42

wrapper.cpp:

#include <Python.h>

int main()
{
    Py_Initialize();
    PyRun_SimpleString("import sys; sys.path.append('.')");
    PyRun_SimpleString("import script;");
    PyRun_SimpleString("script.function_to_call()");
    Py_Finalize();

    return 0;
}

这个程序将输出从python函数function_to_call返回的值。请注意,您必须在机器上安装Python解释器才能使用Python.h头。在这里你可以阅读更多关于这个标题的信息:https://docs.python.org/3/c-api/index.html

相关问题