c++调用python返回字典
C++调Python,代码粘贴如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
|
Python代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
运行结果:
第一步还是包含头文件
第二步,使用python之前,要调用Py_Initialize();这个函数进行初始化。
帮助文档中如是说:
The basic initialization function is Py_Initialize(). This initializes the table of loaded modules, and creates the fundamental modules __builtin__, __main__, sys, and exceptions. It also initializes the module search path (sys.path).
反正,一开始你一定要调用。
第三步,声明一些Python的变量,PyObject类型的。其实声明也可放在前面,这个倒是无所谓的。
第四步,import module,也就是你的脚本名字,不需要加后缀名,否则会出错的。
第五步,从你import进来的module中得到你要的函数
pFunc = PyObject_GetAttrString(pModule, "函数名");
上面的例子已经够清楚的了,最后一个是你要得到的函数的名字
第六步,调用PyEval_CallObject来执行你的函数,第二个参数为我们要调用的函数的函数。
第七步,调用Py_Finalize,这个根Py_Initialize相对应的。一个在最前面,一个在最后面。
注意事项:
1.若编译Debug版,请将C:/Python26/libs下的python26.lib复制一份改名为python26_d.lib
原博地址:http://www.cnblogs.com/Hisin/archive/2012/02/27/2370590.html
另外还有一篇写的很好,地址:https://www.cnblogs.com/earvin/p/5423868.html
c++调用python返回字典相关推荐
- c#调用python 返回值为空
不管是调用.py文件还是.exe文件,均无报错,但无返回值. 经检查是调用python文件路径有空格! 命令参数是 arguments 内不能有多余空格,因为每个空格都会被识别为分割 修改: ...\ ...
- c++调用python返回值
#include <iostream> #include <string> #include <Python.h> using namespace std; int ...
- vc调用python返回值为中文的处理
1.python文件 这样的一个 tt.py 文件,内容如下: 在python环境是没有问题的如下面的图片所示 import time import os def printtest(s):with ...
- c++ 调用python返回指针
这个失败: Student a;
- 解决C++调用Python中文乱码
C++调用Python,包括参数传递及返回值的处理的教程都很多.但是对于中文字符作为参数传递时,会遇到编码问题而乱码甚至崩溃.经过搜集资料,终于解决乱码问题,特记录在此: 1.参数传递一般采用PyOb ...
- 如何在Python中将字典键作为列表返回?
本文翻译自:How to return dictionary keys as a list in Python? In Python 2.7 , I could get dictionary keys ...
- 解决方案:c调用python,PyImport_Import或者PyImport_ImportModule总是返回为空
下面c_python_utils.h是处理工具函数,test.cpp是测试程序,hello.py是python类 可是当我集成到项目中的时候,PyImport_Import总是返回为空,起初我以为是i ...
- linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据
问题起因:解决乱码问题,及解决PHP调用python外部程序的权限问题 数据中带有中文,数据来自python读取微软数据库mssql2005 server的数据 操作注意事项主要有两点: 1.pyth ...
- python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式
开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...
最新文章
- 使用 XML 时尽量避免使用的技术
- Docker(四):Docker 命令大全
- svn 源码版本控制使用体会
- css3 线条出现动画效果,CSS3实现的线条波浪动画效果
- 静态路由实验 +http+dns_华为静态路由配置实验
- xshell1分钟就会自动断_详解xshell远程连接自动断开的问题解决办法
- java web代码规范:
- Java集合框架上机练习题:用户分别从两个文本框输入学生的姓名和分数.............
- Cisco Nexus 1000V
- A6.2021年全国数学建模竞赛C题分析-生产企业原材料的订购与运输
- 某系统有6台输出设备 有多个进程均需要使用2台_双11的秒杀系统,是如何设计的?...
- 六、3D数学矩阵线性变换
- Maven的安装和环境变量配置
- Ubuntu系统下如何提交代码到GitHub
- HTML+CSS+JS制作一个迅雷看看电影网页设计实例 ,排版整洁,内容丰富,主题鲜明,简单的网页制作期末作业
- 前端vue几款模板介绍
- 论文阅读:Hierarchical Attention Transfer Network for Cross-Domain Sentiment Classification
- vbscript能干什么
- springboot项目创建笔记29 之《springboot打包优化2—加载logback.xml问题》
- 什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?
热门文章
- VMWare不能安装64位操作系统原因探析
- 定义__asm块作为C宏
- Android应用--QR的生成(二维码)
- 关于Spring的69个面试问答——终极列表
- Android开发--Wifi的操作
- mysql avg 求平均值_使用MySQL中的AVG函数求平均值的教程
- html div最多50个字符,javascript-计算多少个字符(来自一个字符串)将适合一个div而没有使其换行?...
- java 课程设计 计算器_JAVA课程设计-计算器(201521123028 李家俊)
- 合成大西瓜html源码,index.html
- 计算机基础办公应用考试试题,计算机基础考试试题库和答案.doc