c++ - 从使用 numpy.save(...) 保存的文件中将 numpy 数组加载到 C 中

标签 c++ python c numpy

我想访问驻留在文件中的 C 程序中的数据,该文件是使用 numpy.save(...) 从 python 编写的。到目前为止,我一直在寻找一种方法来调用 C 版本的 numpy.load 我的 C 程序,但似乎没有可直接访问的 C 版本,因为 numpy.load 使用 pickle 模块。另一种解决方案是从 C 启动嵌入式 python 解释器并在该解释器中调用 numpy.load,它应该返回 numpy 数组,然后我可以以通常的方式访问它。但是最后一个方法似乎有点重,因为我必须使用解释器。有没有更好的方法直接将numpy数组加载到C中?

最佳答案

.npy 格式并不是真的要从 NumPy 外部读取。有许多格式都提供优秀的 C 和 Python 库,例如 HDF5 和 NetCDF,所以我看不出有任何理由从 C 访问 native NumPy 文件。

如果您仍然想这样做,这里是 the docs of the .npy format .除非您将 Python 对象存储在数组中,否则它不会在内部使用 pickle(但在那种情况下,我想知道您将如何处理 C 程序中的对象)。

关于c++ - 从使用 numpy.save(...) 保存的文件中将 numpy 数组加载到 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314432/

相关文章:

c++ - 寻找用于自动构建和部署的脚本语言

python - Itertools 无序笛卡尔积

android - 如何在 C/C++ 中方便地发布算术溢出异常

c++ - 在 Vista 上更新 KB3059317 后,MFC 程序挂起 : broken Comctl32. dll?

c++ - linux上搭建cpptest单元测试框架

python - 将父模型中的 bool 字段检查到行中 - Odoo v8

python - Scrapy/Python 中的增量分页

c - 这个类型转换有何不同?

c - C 中的 "UDP datagrams only"套接字

c++ - 归一化整数到/从 float 转换