我正在将我的一个代码库迁移到Python 3.x.我注意到redis.StrictRedis类将字符串dict转换为字节数字节dict。
# Input
{ u'key': u'value'}
# output
{b'key': b'value'}
目前,我正在通过一个实用程序方法来解决这个问题,该方法将这些字节转换为字符串。
def convert_binary_dict_items(values):
# type: (Dict[Any, Any]) -> Dict[Any, Any]
"""
This method convert dictionary items which are of the binary type to string type.
:param values: Dictionary object.
:return:
"""
result = dict()
if not values:
return result
for key, value in six.iteritems(values):
modified_key = key.decode(u'utf-8') if type(key) == bytes else key
modified_value = value.decode(u'utf-8') if type(key) == bytes else value
result[modified_key] = modified_value
return result
是否有可用的智能解决方案?有没有人遇到类似的问题?