TypeError: None имеет тип NoneType, но ожидается, что в protobuf произошло одно из: bytes` - PullRequest
0 голосов
/ 15 мая 2019

Я использую protoc для генерации кода на python, затем создаю объект транзакции, затем обновляю данные script_sig. В некоторых случаях это должно быть None, но если я установил его None, возникает ошибка: TypeError: None имеет тип NoneType, но ожидается один из: bytes

 _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) 
tx.vin[index].script_sig = _b('')`

Я пытался установить его b '', но это не имеет смысла. Может потому что None != b''

message Transaction { 
  repeated TxIn vin = 2; 
  repeated TxOut vout = 3; 
} 

message TxIn { 
  OutPoint prev_out_point = 1; 
  bytes script_sig = 2; 
  uint32 sequence = 3; 
}
for i in range(len(tx.vin)):
  if i != index:
    tx.vin[index].script_sig = None
  else:
    tx.vin[index].script_sig = script_pub_key
...