小编Sch*_*hol的帖子

使用Python将数据附加到json文件

我正在尝试创建一个将条目添加到json文件的函数.最终,我想要一个看起来像的文件

[{"name" = "name1", "url" = "url1"}, {"name" = "name2", "url" = "url2"}]
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

def add(args):
    with open(DATA_FILENAME, mode='r', encoding='utf-8') as feedsjson:
        feeds = json.load(feedsjson)
    with open(DATA_FILENAME, mode='w', encoding='utf-8') as feedsjson:
        entry = {}
        entry['name'] = args.name
        entry['url'] = args.url
        json.dump(entry, feedsjson)
Run Code Online (Sandbox Code Playgroud)

这确实创建了一个条目,如{"name"="some name", "url"="some url"}.但是,如果我add再次使用此函数,使用不同的名称和URL,则第一个被覆盖.我需要做什么才能将第二个(第三个......)条目附加到第一个?

编辑:对这个问题的第一个答案和评论指出了一个显而易见的事实,即我没有feeds在写块中使用.不过,我不知道该怎么做.例如,以下显然不会这样做:

with open(DATA_FILENAME, mode='a+', encoding='utf-8') as feedsjson:
    feeds = json.load(feedsjson)
    entry = {}
    entry['name'] = args.name
    entry['url'] = args.url
    json.dump(entry, feeds)
Run Code Online (Sandbox Code Playgroud)

python json

34
推荐指数
7
解决办法
13万
查看次数

标签 统计

json ×1

python ×1