gpt4 book ai didi

python - 如何将 C 数组导出到 Python

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:49 24 4
gpt4 key购买 nike

我有一个包含 double 值数组的 file.cc,如下所示:

double values[][4] = {
{ 0.1234, +0.5678, 0.1222, 0.9683 },
{ 0.1631, +0.4678, 0.2122, 0.6643 },
{ 0.1332, +0.5678, 0.1322, 0.1683 },
{ 0.1636, +0.7678, 0.7122, 0.6283 }
... continue
}

如何将这些值导出到 Python 列表?

我无法触及这些文件,因为它们属于外部库,可能会被修改。确切地说,我希望能够在不影响我的代码的情况下更新库。

最佳答案

这在 this other SO post 中得到了很好的回答。 .

但我会在这里补充一点。您需要定义一个类型然后使用 in_dll方法。

根据您的示例,我在 values 中对这些值进行了 so 处理。我希望你知道它有多大,或者可以从库中的其他变量中找到,否则这是一个等待发生的段错误。

import ctypes
lib = ctypes.CDLL('so.so')
da = ctypes.c_double*4*4
da.in_dll(lib, "values")[0][0]
# 0.1234
da.in_dll(lib, "values")[0][1]
# 0.5678
da.in_dll(lib, "values")[0][2]
# 0.1222

从这里开始,我将循环读取列表中的内容。

关于python - 如何将 C 数组导出到 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16513708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com