迁移到Python 3.x时出现问题

时间:2018-01-08 18:43:00

标签: python python-3.x python-2.7 redis

我正在将我的一个代码库迁移到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

是否有可用的智能解决方案?有没有人遇到类似的问题?

0 个答案:

没有答案