• C++调用Python3:调用Python函数,返回字符串


    # mytest.py
    def
    hello1(): print("this is test python print hello world 1") return "456"
    #include "Python.h"
    #include <iostream>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        Py_Initialize();
        if (!Py_IsInitialized())
        {
            cout << "初始化失败" << endl;
        }
        
        PyRun_SimpleString("import sys");
        PyRun_SimpleString("sys.path.append('./')");
    
        PyObject* pModel = nullptr;
        pModel = PyImport_ImportModule("mytest");
    
        // hello1 函数
        PyObject* hello1Func = PyObject_GetAttrString(pModel, "hello1");
        PyObject* hello1Args = nullptr;
        PyObject* hello1Res = PyObject_CallObject(hello1Func, hello1Args);
        char* getHello1Res = nullptr;
        PyArg_Parse(hello1Res, "s", &getHello1Res);
        cout << "返回值:" << getHello1Res << endl;
        Py_DecRef(hello1Res);
        Py_DecRef(hello1Args);
        Py_DecRef(hello1Func);
    
        Py_Finalize();
        return 0;
    }
  • 相关阅读:
    idea用法
    pagehelper用法
    mybatis
    多线程2
    radio 标签状态改变时 触发事件
    多线程
    a标签点击后,给a标签添加样式
    servlet
    mybatis 查询
    springmvc 发送PUT 和 DELETE 请求
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/16093160.html
Copyright © 2020-2023  润新知