vs2017好像没有

PyObject* PyIns = PyInstance_New(pyCls, NULL, NULL); // 创建tester类

前面介绍了用python调用C++时用swig工具,现在简单介绍一下C++调用python并取返回值的过程

python文件test.py

class tester:
    def add(self, a, b):
        return a + b

新建一个VS控制台项目
main.cpp所有的源码如下:

#include <stdio.h>
#include <python.h>
#include <windows.h>
void main()
{
    Py_Initialize(); // 初始化python虚拟机
    PyObject* pyMod  = PyImport_ImportModule("test"); //  加载test.py文件
    PyObject* pyDict = PyModule_GetDict(pyMod); //  获取test模块中的字典
    PyObject* pyCls = PyDict_GetItemString(pyDict, "tester"); // 从字典中查找tester类
    PyObject* PyIns = PyInstance_New(pyCls, NULL, NULL); // 创建tester类
    PyObject* pyRet = PyObject_CallMethod(pyIns, "add", "ii", 5, 6); // 调用tester.add方法,传入2个int型参数

c++ 调用python2类获取返回值相关推荐

  1. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  2. c嵌入python类获取返回值

    先贴一段代码,再慢慢解释 #include <python2.7/Python.h> #include <stdio.h> #include <string.h> ...

  3. [Python陷阱]os.system调用shell脚本获取返回值

    当前有shell个脚本/tmp/test.sh,内容如下: #!/bin/bash exit 11 使用Python的os.system调用,获取返回值是: >>> ret=os.s ...

  4. python获取返回值_python 调用 shell ,获取返回值和返回信息

    网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息. def run_linux_cmd_quiet( ...

  5. Android WebView 调用JS方法获取返回值

    一.Android4.4+ 如果你项目的minSdkVersion 为4.4 以上,那么你可以直接通过WebView的evaluateJavascript()方法 拿到JS方法的返回值 webview ...

  6. android 调用js怎么获取返回值_js 函数

    函数是一个特殊的对象 具名函数 function 函数名(形式参数1,形式参数2){ 语句 return 返回值 } 匿名函数 上门的具名函数,去掉函数名就是匿名函数 let a =function( ...

  7. java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)

    oracle中procedure是不能有返回值的,要想返回值,就得有输出参数,同样要想返回记录集,可以把游标类型作为输出参数. 下面是详细情况说明: 一:无返回值的存储过程调用 存储过程: creat ...

  8. 【QML】C++访问QML函数获取返回值时报:Unable to invoke methods with return values in queued connections

    QMetaMethod::invoke: Unable to invoke methods with return values in queued connections 相关资料可以参考:http ...

  9. python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值

    在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...

最新文章

  1. Notepad++支持jQuery、html5、css3
  2. 创建支持ssh的docker镜像
  3. Hibernate 异常org.hibernate.LazyInitializationException: could not initialize proxy - no Session
  4. esrgan_港中文-商汤联合实验室:ECCV2018 PIRM-SR 超分辨率比赛冠军:ESRGAN(已开源)...
  5. (79)Verilog HDL系统函数和任务:$write
  6. boost::factory实现对象工厂设计模式
  7. torch.Tensor.scatter_(dim, index, src, reduce=None)
  8. RecyclerView (一) 基础知识
  9. 针对非业务的通用框架开发,如何做需求分析和设计?
  10. 智慧金融管理系统提供个性化的智能客户服务
  11. linux千兆网卡接百兆交换机,千兆交换机可以接百兆网线吗?
  12. 域用户登录方法在计算机上不被允许,域管理员不允许本地交互式登陆的解决方法...
  13. Byte Pair Encoding
  14. 沉没成本:为什么该放手时我们总是无法放手
  15. 网上免费平台学习美术
  16. K8S 报错笔记--持续更新
  17. Java中的锁-park/unpark
  18. ProGuard入门
  19. 电影剪辑属性详解-Flash-网页制作
  20. (转)ArcGIS中利用“行政单…

热门文章

  1. 利用尾递归减少栈空间的消耗
  2. UNIX进程的创建,进程链和进程扇
  3. mysql 比较大小 慢_MYSQL慢查询优化方法及优化原则
  4. 机器人x展架制作_门型展架80*180易拉宝x展架海报架广告架立牌展示架地推海报2元优惠券券后价20元...
  5. intellij_使用IntelliJ ..已经2周了,到目前为止还算不错
  6. android开发字体样式,Android开发中修改程序字体的样式
  7. java app上传图片接口_接口app 接口中上传 图片
  8. 2021年吉林高考成绩何时查询,2021年吉林高考成绩什么时候出来,几点可以查询到...
  9. 退休是不可能的,90岁还要继续干!
  10. 他总在逆风翻盘,绝地反击!最不爱钱却成了最有钱的人...