C向Python传递数组和List参数

简介: C向Python传递数组和List参数

代码如下:

void call(char* data, int data_size)
{
    PyObject*  pPyArgs   =  PyTuple_New(4);
    //char 数组
    npy_intp  dims[1]    =  {data_size};
    PyObject* pPyArray  =  PyArray_SimpleNewFromData(1, dims, NPY_CHAR, data);
    PyTuple_SetItem(pPyArgs,  0,  pPyArray);
    //int 数组
    PyTuple_SetItem(pPyArgs,  1,
            Py_BuildValue("[i,i,i,i,i,i]",
                width, height, id1, id2, id3, id4));
    //text
    PyTuple_SetItem(pPyArgs,  2,  Py_BuildValue("s",  pInputData->save_path));
    //list
    PyObject* pPyList = PyList_New(pInputData->element_count);
    for (int i=0; i<pInputData->element_count; i++)
    {
        Element* pElement = &(pInputData->elements[i]);
        PyList_SetItem(pPyList, i,
                Py_BuildValue("[i,i,i,i,i,i]",
                        pElement->width, pElement->height, pElement->id1, pElement->id2, pElement->id3, pElement->id4
                        ));
    }
    PyTuple_SetItem(pPyArgs,  3,  pPyList);
    PyObject* pPyResult = PyObject_CallObject(m_pPythonFunctions[0], pPyArgs);
    Py_DECREF(pPyArgs);
}
目录
相关文章
|
4月前
|
开发者 Python 容器
python函数基础以及函数参数简解
python函数基础以及函数参数简解
|
2月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1448 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
7天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 14
|
9天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
26 10
|
2月前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
90 10
|
2月前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
111 4
|
2月前
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
32 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
2月前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
60 0
|
4月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)