C 语言调用python 脚本函数
刚好几个月前做过,C++ 函数里面先加载python 脚本,再调用 里面的 def 函数,我把代码贴出来,你在main 函数里面,调用getDataByScript 函数,另外相同目录下放一个 fuckTest.py ,我是centos6.7
编译
g++ -o test test.cpp -lpython2.7
callPython.h
#include<Python.h>
#include<string>
using namespace std;
char* getDataByScript(const char* moduleName,int& bufferSize,int& errInfo)
{
errInfo = 0;
bufferSize = 0;
Py_Initialize();
if(!Py_IsInitialized())
{
errInfo = 1;
return NULL;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.insert(0,'./')");
//PyRun_SimpleString("print sys.path");
PyObject* pName = PyString_FromString(moduleName);
PyObject* pModule = PyImport_Import(pName);
if(!pModule)
{
printf("can't import error\n");
errInfo = 2;
return NULL;
}
PyObject* pDict = PyModule_GetDict(pModule);
if(!pDict)
{
errInfo = 3;
return NULL;
}
PyObject* pFunc = PyDict_GetItemString(pDict,"callFuncNoArgs");
if(!pFunc || !PyCallable_Check(pFunc))
{
errInfo = 4;
return NULL;
}
//PyObject* pArgs = PyTuple_New(2);
//PyTuple_SetItem(pArgs,0,Py_BuildValue("l",100));
//PyTuple_SetItem(pArgs,1,Py_BuildValue("l",200));
PyObject* res = PyObject_CallObject(pFunc,NULL);
if(!PyString_Check(res))
{
errInfo = 5;
return NULL;
}
else
{
bufferSize = int(PyString_Size(res));
return (char*)PyString_AsString(res);
}
}
test.cpp
#include <iostream>
#include"callPython.h"
using namespace std;
int main()
{
int size =0;
int errInfo = 0;
getDataByScript("fuckTest",size,errInfo);
return 0;
}
fuckTest.py
def callFuncNoArgs():
print "test.py func called !!!"
return "fuck"
转载于:https://www.cnblogs.com/jkred369/p/7406123.html
C 语言调用python 脚本函数相关推荐
- C语言调用Python脚本
目录 一.头文件 二.使用步骤 1.初始化python模块 2.设置python的搜索路径 3.导入python脚本 4.导入调用的方法 5.构建参数 6.调用方法 7.解析返回值 8.释放资源 三. ...
- C++调用Python脚本函数
C++调用Python脚本函数 文章目录 C++调用Python脚本函数 1.编写python脚本,并下载安装所需的库文件(保证编写的python脚本在指定的虚拟环境下可以正常运行) 2.在Vs201 ...
- go语言调用python脚本_Golang调用Python
Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言.Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍一下正确搅 ...
- Java调用Python脚本:轻松实现两种语言的互操作性
Java和Python都是非常流行的编程语言,它们都有自己的优点,但也有自己的局限性.在编写应用程序时,我们可能需要使用两种语言来共同完成一项任务.在这种情况下,Java需要调用Python脚本来解决 ...
- 【Python】如何在Excel中调用Python脚本,实现数据自动化处理
这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5 ...
- java 调用python脚本过程_通过Java调用Python脚本
在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...
- 如何在Excel中调用Python脚本,实现数据自动化处理!
大家好, 这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球 ...
- 如何在Excel中调用Python脚本,实现数据自动化处理
这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5 ...
- C#调用Python脚本训练并生成AI模型(以Paddle框架为例)
目录 一. C#调用通过IronPython语言移植 1.1 IronPython安装 1.2 示例代码 1.3 运行结果 1.4 特点 二. C#调用Python文件打包dll 2.1 步骤 2.1 ...
- Ubuntu下读取CHUSEI 3D Webcam 双目摄像头C++版本(调用python脚本进行配置)
本博客做了一个工作--Ubuntu下用OpenCV读取CHUSEI 3D Webcam 双目摄像头(C++版本),希望能给予有需要的朋友一个参考. 购买了CHUSEI 3D Webcam 双目摄像头问 ...
最新文章
- 《Offer一箩筐》2W字总结面试套路14问——不给例子的教程都是耍流氓!!
- 怎么样用idea上传git?-通俗易懂
- LSTM:《Long Short-Term Memory》的翻译并解读
- 【笔记】opencv的python使用 腐蚀模糊背景分割等处理图像
- java画虚线_java cansvas 画虚线要怎么设置?
- 文献学习(part52)--基于泛岭估计对岭估计过度压缩的改进方法
- python中定义数据结构_Python中的数据结构。
- 去除标题_资深运营导师-云中教你轻松写标题
- python虚拟环境安装的包在哪_如何使用virtualenv引导脚本在虚拟环境中安装python包?...
- java制作扫雷游戏中埋雷的难点_月薪30K程序员花了一个小时,用c++做出经典扫雷游戏 !...
- 【Elasticsearch】Elasticsearch mapping 映射对象
- getQueryString方法使用
- java 安全发布对象_Java安全的发布对象
- 华为紧急调试鸿蒙;首个 5G 全覆盖国家诞生;Flutter 1.7 正式发布 | 极客头条
- 多图详解Spring框架的设计理念与设计模式
- 阿里云服务器是干什么用的?
- 电子设计之硬件开发流程和前辈的指导
- Liferay使用管理中的一些常见问题
- 软件工程网络15个人阅读作业1(201521123111 陈伟泽)
- 网上靠谱的赚钱方法,这四个可以尝试做一做!