我有类似这样的代码
import json
param1 = "xxxxxx"
param2 = "anaaaahhhhhhhhhj"
param3 = "333333333"
with open('data/'+param1+'.json','a') as f:
data = param2,
json.dump(data, f, sort_keys=True, indent=1,ensure_ascii=False)
当我执行此操作时,输出就像这样,而不是真正的字典
[
"anaaaahhhhhhhhhj"
][
"anaaaahhhhhhhhhj"
]
我想要
[
"anaaaahhhhhhhhhj"
][
"anaaaahhhhhhhhhj"
]
到
[
"anaaaahhhhhhhhhj",
"blablablabal"
]
任何人都可以帮助我吗?
ps:我是python的新手
答案 0 :(得分:0)
假设您正在处理列表并在每次运行脚本时尝试附加到列表:首先加载列表,执行追加操作,然后将其转储回来。
这假设您有一个名为“mydata.json”的现有文件,其中包含[]
。
第一种方法(更容易理解):
import json
fileName = 'mydata.json'
# Load the list first
with open(fileName, 'r') as f:
data = json.load(f)
# Perform an append operation
data.append('New Value')
# Dump it back out
with open(fileName, 'w') as f:
json.dump(data, f, sort_keys=True, indent=1, ensure_ascii=False)
第二种方法(使用搜寻):
import json
fileName = 'mydata.json'
with open(fileName, 'r+') as f:
# Load the list first
data = json.load(f)
# Perform an append operation
data.append('New Value')
# Dump it back out
f.seek(0)
json.dump(data, f, sort_keys=True, indent=1, ensure_ascii=False)
f.truncate()
运行这些程序中的任何一个将导致“mydata.json”包含:
[
"New Value",
"New Value",
"New Value"
]