我想对下面的示例进行编码:
name = "Myname"
status = "married"
sex = "Male"
color = {'eyeColor' : 'brown', 'hairColor' : 'golden', 'skinColor' : 'white'}
我使用的是base64编码方案,使用的语法是<field-name>.encode('base64','strict')
,其中field-name
包含上述字段-名称、状态等等。
除了字典“颜色”之外的所有东西都被编码了。
我在color.encode('base64','strict')
处出错
错误如下:
Traceback (most recent call last):
color.encode('base64','strict')
AttributeError: 'CaseInsensitiveDict' object has no attribute 'encode'
我认为编码方法不适用于词典。
我该如何把整本词典一下子编好?
除了encode
方法之外,还有其他适用于词典的方法吗?
encode
是字符串实例拥有的方法,而不是字典。不能简单地将它用于每个对象的每个实例。 因此,最简单的解决方案是首先在字典上调用str
:但是,当你想解码字符串并把字典拿回来时,这就不那么直接了。Python有一个这样做的模块,它被称为pickle。Pickle可以帮助您获得任何对象的字符串表示,然后可以将其编码为base64。解码后,您还可以将其解钩以取回原始实例。
pickle+base64的其他替代方法可能是json。
这是用python编写python字典的另一种方法。
我在Python 36中测试过
输出:
相关问题 更多 >
编程相关推荐