python - 如何将键:值对添加到简单的 JSON 文件
问题描述
JSON
{
"user1": "password1",
"user2": "password2"
}
代码
所以假设我有一个新用户 user3 我会将他的密码和用户名存储到两个不同的变量中
username = "user3"
password = "password3"
输出目标
我希望我的 JSON 文件最终看起来像这样:
{
"user1": "password1",
"user2": "password2",
"user3": "password3
}
解决方案
只需将您的 json 解析为 dict,添加键/值对并将其转储回 json 字符串:
import json
j = '''{
"user1": "password1",
"user2": "password2"
}'''
username = "user3"
password = "password3"
my_dict = json.loads(j)
my_dict[username] = password
json.dumps(my_dict)
# '{"user1": "password1", "user2": "password2", "user3": "password3"}'
如果你从一个文件开始,它基本上是一样的——只要打开文件并使用load()
和dump()
. 就像是:
import json
path = "/path/to/file.txt"
outpath = "/path/to/output_file.txt"
username = "user3"
password = "password3"
with open(path) as json_file:
my_dict = json.load(json_file)
my_dict[username] = password
with open(outpath, 'w') as json_file:
json.dump(my_dict, json_file)
推荐阅读
- c# - 如何随机调用函数unity c#
- php - Safari 在跳转链接后返回丢失的图像 [HTML/CSS]
- python - 获取 DecisionTreeRegressor 中终端(叶)节点的所有值
- r - 我尝试使用 glm 的输出进行自动绘图,但出现此错误。Ps:我尝试安装“ggfortify”,但它并没有解决我的问题
- php - Laravel,自动登录时不会调用经过身份验证的方法
- react-native - 强制应用程序在博览会中重新启动反应本机
- sql - 在while循环中左连接表并动态命名再次用于左连接的新表
- lotus-domino - 我无法让辅助代理在 WebQueryOpen 事件上运行
- python - 在不安装 Python 的情况下运行 Python 脚本
- python - 尝试从类的所有实例访问布尔变量