步骤
- 包含Python.h,引入python.lib
- Py_Initialize()初始化,结束时调用Py_Finalize()
- 导入sys模块,添加python脚本路径
- 导入脚本文件,从脚本中导入函数模块
- 构造入参,如果有三个参数就构造PyTuple_New(3)
- 构造每一个参数,可以是C++的基本类型,也可以是Python的List类型
- 将所有参数加入到Tuple之中
- 函数调用,得到返回值
- 直接解析C++基本类型的返回值
- 或者使用PyList_GetItem等函数解析嵌套的返回值
C++代码
#include "Python.h"
//import python36.lib
//初始化
Py_Initialize();
if ( Py_IsInitialized() )
{
//导入sys模块
PyRun