python与c语言数据交互,python与c语言交互应用实例
1、python向c语言写数据
1) 先将接收端编译成一个共享链接库
gcc/arm-linux-gnueabihf-gcc -o bluetooth_proxy.so -shared -fPIC bluetooth_proxy.c
bluetooth_proxy.c
#include
structbluetooth_t{intstatus;char buf[128];
};int bluetooth_proxy_cb(structbluetooth_t bluetooth)
{
printf("bluetooth status:%d, buf:%s \n", bluetooth.status, bluetooth.buf);return 0;
}
2)运行发送端python脚本即可将python数据发送到c语言接口函数。
bt_msg_send_simple.py
#!/usr/bin/python
importctypesfrom ctypes import *
classbluetooth(Structure):
_fields_=[('status',c_int),('buf',c_char * 128)]if __name__ == "__main__":
func= ctypes.cdll.LoadLibrary("./bluetooth_proxy.so")
func.bluetooth_proxy_init()
s=bluetooth()
s.status= 555s.buf= bytes('hello,world')
func.bluetooth_proxy_cb(s)
注意:如果python调用的函数参数仅仅是个简单的指针,可以不用映射。
例如char *data;
func.bluetooth_proxy_cb(data)
2、python从c语言读取数据
既然能调用c语言链接库函数参数来发送数据,接收数据也可以从通过c语言函数返回值传递了。
python_data = func.bluetooth_proxy_cb(var)
3、python的c语言拓展
用c语言写好so,然后 import xxxx 来无缝结合
test.c
#include
static PyObject *test(PyObject *self, PyObject *args){intarg1, arg2;if(!(PyArg_ParseTuple(args, "ii", &arg1, &arg2))){returnNULL;
}return Py_BuildValue("i", arg1 + arg2 * 10);
}static PyMethodDef testMethods[] ={
{"test", test, METH_VARARGS, "This is test"},
{NULL, NULL}
};
PyMODINIT_FUNC inittest(){
Py_InitModule("test", testMethods);
}
gcc -I /usr/include/python2.7/ -fpic --shared -o test.so test.c
test.py
importtestprint test.test(1, 2) #输出 21
demo在github上
python和C语言混编的几种方式
python与c语言数据交互,python与c语言交互应用实例相关推荐
- python与excel做数据可视化-python做可视化数据分析,究竟怎么样?
Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...
- python与excel做数据可视化-Python的Excel操作及数据可视化
Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...
- python调用通达信数据_[python]沪深龙虎榜数据导入通达信的自选板块并标注于k线图上...
[python] 沪深龙虎榜数据导入通达信的自选板块, 并标注于 K 线图上 1 #coding=utf-8 2 3 # 读取 '[paint]' 开头的 csv 文件 4 #copyright @ ...
- python地图上动态显示数据_Python可视化笔记之folium交互地图
leftlet给R语言提供了很好用的交互式动态地图接口,其在Python中得API接口包名为folium(不知道包作者为何这样起名字,和leaflet已经扯不上关系了),可以满足我们平时常用的热力图. ...
- 大数据数学基础 python描述_大数据数学基础(Python语言描述)
第 1章 绪论 1n 1.1 大数据与数学 1n 1.1.1 大数据的定义 1n 1.1.2 数学在大数据领域的作用 2n 1.2 数学与Python 4n 1.2.1 NumPy 4n 1.2.2 ...
- 大数据python试卷_大数据起步--Python语言-中国大学mooc-试题题目及答案
中档饭店清扫房间定额一般为().A.1416间/人B.1214间/人C.1012间/人D.810间/人 一般情况下,能发生瓦斯爆炸的最低氧气浓度为()A.8%B.12%C.20%D.18% P ...
- python如何读取excel数据-使用Python读取电子表格中的数据
Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数 ...
- python与excel做数据可视化-python操作Excel、读取CVS与数据可视化
1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...
- python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...
- python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享
(1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...
最新文章
- 走近TCP/IP协议
- 如何在python中显示电脑中的图片-python如何在终端里面显示一张图片
- 苹果Mac Mini 高配版 M1X 或将于数月后发售
- 【课题总结】OpenCV 抠图项目实战(3)抠图综述
- 并发查询_java 手写并发框架(一)异步查询转同步的7种实现方式
- php-resque的设计和使用
- 非线性最小二乘通俗易懂解释
- openssl passwd
- Visual Studio 2019密钥
- guided Filter--引导滤波算法原理及实现
- 【面试题】444- 55 道常见CSS面试题
- 食品品牌最全VI目录 - 塔望食品品牌全案策划VI设计清单
- 网站如何被百度蜘蛛快速抓取?
- 【js高级 Day3】深入理解原型的方式继承,借用构造函数继承,组合继承,拷贝继承
- android 遥控器方向,android万能遥控器之一--前言及发射部分的简单实现
- Avoiding 16 Common OpenGL Pitfalls(避免 16 个常见的 OpenGL 陷阱)
- 计算机组成与系统结构(课程设计)
- SAP PP配置详解之六:物料需求计划
- 2018年世界杯赔率预测 -DNN
- 201671030109 韩艳艳 《英文文本统计分析》结对项目报告