所以我正在尝试设置json,以便我可以在用户会话之间存储数据,例如,我喜欢一个名字,但是我不知道如何在外部json文件中添加或更改特定值,例如,{"name": ""}
如何""
为使用python的json文件?
我已经尝试使用转储,所有教程都使用转储
{
"human_name": "",
"oracle_name": "",
"human_age": "",
"human_gender": "",
"oracle_gender": ""
}
import json
with open('data.json', '+') as filedata:
data = filedata.read()
used_data = json.loads(data)
if str(used_data(['human_name'])) == "":
print("what is your name")
name = input()
json.dumps(name)
if str(used_data(['oracle_name'])) == "":
print("what is my name")
oracle_name = input()
json.dumps(oracle_name)
print(str(['human_name']))
预期的结果是当我打印显示输入的数据时,但是当我运行它时
文件“ rember.py”,第3行,以open('data.json','+')作为文件数据:ValueError:必须完全具有创建/读取/写入/附加模式之一,最多具有一个加号
试试这个代码。
json.loads
将整个json字符串加载为pythondict
对象。使用中的值dict
进行更改/添加dict[key] = value
。您不能调用dict对象更改其值。
该json.dumps
方法将对象序列化为JSON格式的str。然后您可以根据需要将其写入同一文件或不同文件。
import json
with open('data.json', 'r') as filedata:
data = filedata.read()
used_data = json.loads(data)
if used_data['human_name'] == "":
print("what is your name")
name = input()
used_data['human_name'] = name
if used_data['oracle_name'] == "":
print("what is my name")
oracle_name = input()
used_data['oracle_name'] = oracle_name
print(used_data)
with open('data.json', 'w') as filewrite:
filewrite.write(json.dumps(used_data, indent=4))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句