왜 python3에서이 문제가 발생합니까? 나는 아래 실행하면python 3은 msgpack의 dict에서 키를 찾지 못합니다.
meta = msgpack.unpackb(data[1])
print(type(meta))
<class 'dict'>
meta = {b'api_key': b'apikey1',
b'sensor_id': b'sid1',
b'version': b'1.0'}
:
1) 나는 내가이
3) 반환 유형 아래에 DICT이다 얻을 풀고)
2
레디 스에서 msgpack 데이터를 얻을 : sensor_meta{b'api_key': b'apikey1',
b'sensor_id': b'sid1',
b'version': b'1.0'}
Traceback (most recent call last):
File "/Users//worker.py", line 247, in <module>
print(meta['sensor_id'])
KeyError: 'sensor_id'
를 [ 'sensor_id']하지만 난 sensor_meta [b'sensor_를 사용하는 경우 id '] 그러면 작동합니다.
"b"란 무엇이며 어떻게 없앨 수 있습니까? b가 없도록 전체 개체를 어떻게 변환합니까?
그래서 아래의 할 경우 :
print(type(meta['sensor_id']))
<class 'bytes'>
왜 바이트 어떻게 거기에 도착 했습니까? 해시 키를 사용할 때마다 b를 추가하지 않아도됩니다.
감사 노트 here에서 언급 한 바와 같이
하면 데이터 [1]'뿐만 아니라 – yash
무관 ... 데이터 [1] 내가 풀고 싶은 데이터가 – Tampa
를 나열되어 있지만 공식적으로 메타 정의 '에 대한 정보를 추가 할 수 있습니다 – Tampa