python-3.x - 将 [] 字符串从 Go 转换为 python 列表
问题描述
我正在尝试从 golang返回[]string以在我的 python 程序中列出。我成功地将 go slice 从 stackoverflow 的一些引用转换为 c 数组。
但我不确定如何转换回 python 列表。
任何指针将不胜感激。
谢谢。
这是我的代码示例。
// example.go
package main
import "C"
import (
"unsafe"
)
//export Example
func Example() **C.char {
// len of slice may be dynamic
data := []string {
"A",
"B",
"C",
}
cArray := C.malloc(C.size_t(len(data)) * C.size_t(unsafe.Sizeof(uintptr(0))))
a := (*[1<<30 - 1]*C.char)(cArray)
for i, value := range data {
a[i] = C.CString(value)
}
return (**C.char)(cArray)
}
func main() {}
# example.py
from ctypes import *
lib = cdll.LoadLibrary('./example.so')
lib.Example.argtypes = None
lib.Example.restype = POINTER(c_char_p)
ret_value = lib.Example()
mylist = [value for value in ret_value.contents]
print(mylist)
解决方案
推荐阅读
- javascript - HTML 画布不绘图
- css - 伪元素前后的溢出属性
- html - Flex 垂直对齐不起作用,只有水平对齐起作用
- c# - 在这种情况下声纳捕捉不正确?(S2589)
- r - 如何删除值在括号中的行?
- swiftui - 如何在 SwiftUI 中将 GeometryReader 中视图的位置更改为屏幕顶部的开始?
- ajax - AWS API Gateway 429 响应 - 没有 CORS 标头
- javascript - quilljs copyCode 模块 - 无法在“节点”上执行“insertBefore”
- javascript - 用 2 列迭代一行
- json - 如何在 Python 中将 JSON 的文本文件转换为 JSON 数组?