将python字节数组解析为golang [] byte

时间:2018-11-22 09:05:27

标签: python go

我需要将python的字典解析为golang的地图,并且我使用了一个名为“ go-python”的软件包。 现在,我使用python的msgpack将字典打包为一个字节数组,以及如何将其解析为golang的[] byte。

func GoMap(dict *python.PyObject) map[string]interface{} {
  pymp := python.PyImport_ImportModule("msgpack")
  pack := pymp.GetAttrString("packb")
  packArgs := python.PyTuple_New(1)
  python.PyTuple_SetItem(packArgs, 0, dict)
  temp := pack.Call(packArgs, python.PyDict_New())
  tempLen := python.PyString_Size(temp)
  bstr := python.PyString_AsString(temp)
  fmt.Println("len temp", tempLen)
  fmt.Println("len bstr", len(bstr))
  bytestr := []byte(bstr)
  var out map[string]interface{}
  err := msgpack.Unmarshal(bytestr, &out)
  if err != nil {
    panic(err)
  }
  return out
}

结果:
len temp 370
len bstr 148
恐慌:EOF

我使用Pystring_AsString解析python的字节数组进入str,如果dict的值为0,则得到eof

0 个答案:

没有答案