python - 如何对 Python 3 中的字典与外部文件进行编码/解码?

标签 python file dictionary python-3.x encode

我对编码和解码比较陌生,事实上我根本没有任何经验。

我想知道,如何将 Python 3 中的字典解码为不可读的格式,以防止有人在程序外修改它?
同样,我如何从该文件中读取并将字典编码回来?

我的测试代码现在只能写入和读取纯文本文件。

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()

最佳答案

根据您的字典所包含的内容,您可以使用像 json 这样的编码库或pickle (对于存储复杂的 python 数据结构很有用)。

这是一个使用 json 的示例,要使用 pickle,只需将 json 的所有实例替换为 pickle 即可。

import json

myDict = {}

#Writer
fileModifier = open('file.txt', 'w'):
json.dump(myDict, fileModifier)
fileModifier.close()

#Reader
fileModifier = open('file.txt', 'r'):
myDict = json.load(fileModifier)
fileModifier.close()

关于python - 如何对 Python 3 中的字典与外部文件进行编码/解码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821342/

相关文章:

python - 最大化嵌套 for 循环的 cpu 使用率的最简单方法是什么?

python - 将 Pandas 行中的值添加到字典

C++ Winsock 下载文件切断 HTTP header

python - 如何检查文件是否存在无异常?

c++ - 计算特定区间内的点数

Python:如何打印单个字典值?

python - 计算插件依赖

python - 无法将 Heroku 数据库 pull 到本地

command-line - 删除空(零字节)文件

python-3.x - 以 id 作为键,将多个标签读取为列表或字典中的元组,即 {id :(cat1, cat2,.....)}