以下是字典从redis返回的结果。为什么是b?我该如何摆脱呢?
data = r_client.hgetall(key)
{b'test1:r': b'2', b'test2:f': b'2'}
print('test1:r' in data)
False
print(b'test1:r' in data)
True
当我从redis获取数据时,如何摆脱那个可怕的b?
我的意思是我这样做是为了得到我想要的东西:
new_data = {}
for key,value in data.items():
new_data[key.decode()] = value.decode()
答案 0 :(得分:1)
您可以添加参数来摆脱这种情况。
client = redis.Redis('localhost', charset="utf-8", decode_responses=True)
答案 1 :(得分:0)
您需要解码字符串的字节:
b'test1:r'.decode('utf-8')
解码所有密钥:
data = {b'test1:r': b'2', b'test2:f': b'2'}
data= {key.decode('utf-8'):value for key,value in data.items()}
print('test1:r' in data) # True
print(b'test1:r' in data) # False