写入.json文件

写入.json文件,json,append,Json,Append,我目前正试图在不清除现有数据的情况下,将2段用户输入的代码写入一个.json文件。我相信这是一个问题的登录。追加,因为它说没有这样的事情。我要用什么 我一直在搜索,试图找到不同的后缀登录 def i(): path_to_json = "./logins.json" with open("logins.json", "r") as content: logins = json.load(content) with open('logins.json',

我目前正试图在不清除现有数据的情况下,将2段用户输入的代码写入一个.json文件。我相信这是一个问题的登录。追加,因为它说没有这样的事情。我要用什么

我一直在搜索,试图找到不同的后缀登录

def i():
    path_to_json = "./logins.json"
    with open("logins.json", "r") as content:
        logins = json.load(content)


    with open('logins.json', 'a') as outfile:
        username = str(input('New Username: '))
        password = str(input('New Password: '))
        logins.append({username:password})
我得到一个错误:

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    i()
  File "N:\NEA Computing\NEA code.py", line 188, in i
    logins.append({username: password})
AttributeError: 'dict' object has no attribute 'append'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
我()
文件“N:\NEA Computing\NEA code.py”,第188行,在i
append({username:password})
AttributeError:“dict”对象没有属性“append”

我希望它在不删除其他数据的情况下将数据添加到.json文件中,但是我收到一个错误,并且没有任何内容写入.json文件。

尝试使用“w”选项打开该文件

def i():
        path_to_json = "./logins.json"
        with open("logins.json", "w") as content:
            logins = json.load(content)


        with open('logins.json', 'a') as outfile:
            username = str(input('New Username: '))
            password = str(input('New Password: '))
            logins.append({username:password})

也许这是对这个问题的误解,但据我所知,正在发生的事情是,您使用了json.load,它似乎加载了对象文本,比如
{key1:value1,key2:value2,…}
,而不是数组文本比如
[value1,value2,…
。Python将第一个转换为Python dict,字典没有附加函数,只有数组/列表有附加函数。你得到了你的错误和执行暂停。当您将logins.json的内容作为object
{…}
时,它对我不起作用,但作为array/list
[…]
它起作用

这不起作用,因为“w”会导致.json擦除文件的所有内容,但我不希望它这样做