我对编码和解码还比较陌生,事实上我一点经验都没有。在
我在想,如何将python3中的字典解码为不可读的格式,以防止有人在程序外修改它?
同样,我如何从那个文件中读取并重新编码字典呢?在
我的测试代码现在只对纯文本文件进行写入和读取。在
import ast
myDict = {}
#Writer
fileModifier = open('file.txt', 'w')
fileModifier.write(str(myDict)))
fileModifier.close()
#Reader
fileModifier = open('file.txt', 'r')
myDict = ast.literal_eval(fileModifier.read())
fileModifier.close()
编码/解码的另一种方法是简单地将文件用作} 模块,正是这样做的。这个模块使用一个文件作为数据库,并为其提供一个
dict
,而python有一个^{dict
样的接口。在它有一些限制,例如键必须是字符串,而且显然比普通的
dict
慢,因为它执行I/O操作。在根据您的字典所保存的内容,您可以使用json或{a2}(用于存储复杂的python数据结构)的编码库。在
下面是一个使用json的示例,要使用pickle,只需将
json
的所有实例替换为pickle
,这样就可以了。在这里典型的用法是^{} 或{a2}模块(两者都在标准库中)。这个过程称为“序列化”。}只能序列化基本类型/对象(整数、浮点、字符串、列表、字典)。}文件则不是
pickle
可以序列化几乎任意python对象,而{json
在一天结束时是人类可读的,而{相关问题 更多 >
编程相关推荐