pythonint函数的参数_向嵌入的Python函数传递两个参数(int和array)
我需要从我的模块中调用Python函数并为其设置两个参数:int和array。在
现在我在调用这个函数的时候遇到了segfault,我不知道我做错了什么。有人能指出我的错误在哪里吗?在
函数在我的Python模块中应用程序副本. 如果我从Python代码调用它,它会起作用:def get_model(rate, signal):
mfcc_train = MFCC().compute(rate, signal)
with open('mfcc_test', 'wb') as f:
pickle.dump(mfcc_train, f)
return clf()._fit(mfcc_train)
调用上面函数的C代码。最后一个春天是“打电话前”
^{pr2}$
UPD:更新代码,其中一个问题已修复。但另一个问题仍然存在。它在PyObject* pSamples = PyArray_SimpleNewFromData(1, dims, NPY_INT8, (void*)samples);行。我也不知道是怎么回事。在
和wav.h以防万一:#include
#include
#include
#include
#include
#include
typedef struct {
char chunk_id[4];
uint32_t chunk_size;
char format[4];
char fmtchunk_id[4];
uint32_t fmtchunk_size;
uint16_t audio_format;
uint16_t num_channels;
uint32_t sample_rate;
uint32_t byte_rate;
uint16_t block_align;
uint16_t bps;
char datachunk_id[4];
uint32_t datachunk_size;
}WavHeader;
WavHeader *header;
void wavread(char *file_name, int16_t **samples)
{
int fd;
if (!file_name)
errx(1, "Filename not specified");
if ((fd = open(file_name, O_RDONLY)) < 1)
errx(1, "Error opening file");
if (!header)
header = (WavHeader*)malloc(sizeof(WavHeader));
if (read(fd, header, sizeof(WavHeader)) < sizeof(WavHeader))
errx(1, "File broken: header");
if (strncmp(header->chunk_id, "RIFF", 4) ||
strncmp(header->format, "WAVE", 4))
errx(1, "Not a wav file");
if (header->audio_format != 1)
errx(1, "Only PCM encoding supported");
if (*samples) free(*samples);
*samples = (int16_t*)malloc(header->datachunk_size);
if (!*samples)
errx(1, "Error allocating memory");
if (read(fd, *samples, header->datachunk_size) < header->datachunk_size)
errx(1, "File broken: samples");
close(fd);
}
pythonint函数的参数_向嵌入的Python函数传递两个参数(int和array)相关推荐
- python 函数调用 不允许关键字参数_你所不知道的Python|函数参数的演进之路
原标题:你所不知道的Python|函数参数的演进之路 函数参数处理机制是Python中一个非常重要的知识点,随着Python的演进,参数处理机制的灵活性和丰富性也在不断增加,使得我们不仅可以写出简化的 ...
- pthread_create如何传递两个参数以上的参数
参考文章:pthread_create如何传递两个参数以上的参数 后更...
- python函数装饰器参数 参数_【转】python 装饰器功能以及函数参数使用
之前学习编程语言大多也就是学的很浅很浅,基本上也是很少涉及到装饰器这些的类似的内容.总是觉得是一样很神奇的东西,舍不得学(嘿嘿).今天看了一下书籍.发现道理还是很简单的. 简单的说:装饰器主要作用就是 ...
- python数据参数_零基础学习python数据分析——函数的参数
原标题:零基础学习python数据分析--函数的参数 上一节课中我们讲了python的函数定义,Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数 ...
- shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...
我想使用字典在python中调用函数. 这是一些代码: d = dict(param='test') def f(param): print(param) f(d) 这打印{'param': 'tes ...
- seq生成序列-f参数_使用seq()函数在R中生成序列
seq生成序列-f参数 Generating a sequence in R using the function seq() is vital and has many uses in data a ...
- python map函数返回类型_使用map和lambda函数发送两个参数并返回两个值
因为您说您只需要一个模型,而不是每个值都需要一个新模型,所以这相当简单.更改:hnd = map(lambda (valua): function_f(valua), list_value) 致:mo ...
- python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数
跟光磊学Python开发-匿名函数函数和高阶函数 跟光磊学Python开发-匿名函数函数和高阶函数跟光磊学Python开发 匿名函数 匿名函数就是函数定义时没有名字的函数,也称为匿名表达式. 普通函数 ...
- python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...
函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ...
最新文章
- 线段树POJ3468(成段更新,区间求和)
- python进程join的用法_python 进程介绍 进程简单使用 join 验证空间隔离
- php框架快速入门,php-laravel4.0框架 简单快速入门
- 百度邀您来听一场云存储的大戏!
- 20200806:Java拓扑排序实现力扣210课程表Ⅱ
- Cocos-2d 关于SwallowTouch,进一步解释触摸事件分发机制
- 【机器学习】萌新必学的 Top10 算法
- 8.1 Zend_View(2)
- hplus java,HPlus(H+) 后台管理模板带文档V 4.1.1-完整版
- temp不停生成临时文件 win10_Win10系统安装软件提示不能创建临时文件安装中止如何解决...
- QTTabBar我装好啦!
- 小时候很喜欢看的一些卡通片的主题曲(绝对经典)
- 苹果手机怎么无线投屏?苹果手机无线投屏到电脑
- word-目录突然无法更新解决方法
- 搜狗输入法5.0_注意!月活超5亿的搜狗输入法向用户电脑植入病毒
- Up in the Air-16
- 程序员五一被拉去相亲,结果彻底搞懂了HTTP常用状态码
- 华为数字化转型之道 实践篇 第八章 数字化交易:让做生意简单、高效
- 分布式Session共享和单点登录实现
- 常用传感器讲解十七--簧片开关传感器(KY-036)
热门文章
- java int转bitmap_Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码...
- java激光推送ios_关于ios极光推送server端注意的地方
- paypal创建订单后怎么获得id_5步创建Facebook商店(最新版教程)学习如何在Facebook上卖货...
- android驱动测试,Android: 通过 cucumber 驱动 monkey 做稳定性测试
- 依赖 netty spring_十分钟带你了解Spring的七大知识点,程序员必了解
- 华为笔记本会不会用鸿蒙,华为MateBook Pro笔记本为什么不用鸿蒙操作系统HarmonyO?...
- java.lang.class_关于Java.lang.Class的一些疑问
- linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?
- redis内存淘汰和持久化_redis 持久化
- 从Maven中央仓库网站下载jar包的两种方式,将会伴随java后端开发者的整个职业生涯