разбирать байтовый массив python на golang [] byte - PullRequest
0 голосов
/ 22 ноября 2018

Мне нужен синтаксический анализ синтаксиса python для карты Голанга, и я использую пакет под названием "go-python".Теперь я использую пакет python msgpack, упаковывающий dict в байтовый массив, и как я не могу разобрать его в байт golang [].

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
panic: EOF

Я использую Pystring_AsString для разбора байтового массива python для перехода на str, если диктимеет значение 0, оно получается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...