c++调用python实现
来源:互联网 发布:开源cms php 编辑:程序博客网 时间:2024/06/15 21:30
本文使用boost库提供的python模块实现c++对python代码的调用。在本文代码中,省略了对python虚拟机的初始化。
场景描述:用python语言实现了一个方法test(param),方法所在脚本文件名是test_python.py(编译成二进制的test_python.pyc也可以),需要在c++中执行该方法。
方法一:直接执行(python::exec)导入语句(import),将test方法导入。test_python.py所在目录需要写在环境变量PYTHON_PATH中。
python::object m_main_module;python::object m_main_namespace;m_main_module=python::object(python::handle<( python::borrowed(PyImport_AddModule("__main__"))));m_main_namespace = m_main_module.attr("__dict__");//执行导入语句python::exec( "from test_python import * \n" , m_main_namespace , m_main_namespace );//获取python的test方法对象python::object python_func = m_main_namespace["test"];//调用test方法,输入参数python_func("okokok") ;
方法二:直接执行(python::exec)脚本代码。将test_python.py的内容读入内存,放在变量file中。和方法一相比,只有这一句不同。
python::exec( file.c_str() , m_main_namespace , m_main_namespace );
0 0
- python调用C库的实现
- 采用SWIG实现python调用C函数
- Boost Python 实现C调用python错误解决方法
- 利用swig实现python调用C/C++的方法
- python调用c语言函数的一种简单实现方法
- 利用swig实现python调用C/C++的方法
- 利用swig实现python调用C/C++的方法
- TensorFlow中的SWIG实现Python调用C/C++代码
- BCB(C++)调用Python
- C中调用PYTHON
- C调用python
- C调用python
- Python 调用 C函数
- python调用c
- Python 调用C
- c中调用python
- Python调用c/c++
- c 调用python
- 【Android应用开发技术:图像处理】Bitmap显示性能优化分析
- NYOJ --277 车牌号
- 中文和Unicode互相转化
- js跳转页面实现
- C# PC 通过bluetooth 连接手机1
- c++调用python实现
- Hadoop基本架构介绍
- Ubuntu中一些软件和库的下载过程集合
- HDU 4366 Successor(线段树 DFS时间戳)
- leetcode 75: Sort Colors
- easyUI datagrid最后操作列的实现总结
- Category支持添加属性与成员变量
- spark-streaming连接flume时报错org.jboss.netty.channel.ChannelException: Failed to bind to: /IP:PORT
- HTML5纯div饼图