Python 正在将用作登录系统的内容写入.json文件,但不起作用
我正在为计算机gcse设置掷骰子游戏。我在向.json文件添加新用户时遇到一些问题。我是新的编码,并不是最伟大的,所以任何帮助将不胜感激!我希望它以Python 正在将用作登录系统的内容写入.json文件,但不起作用,python,python-3.x,Python,Python 3.x,我正在为计算机gcse设置掷骰子游戏。我在向.json文件添加新用户时遇到一些问题。我是新的编码,并不是最伟大的,所以任何帮助将不胜感激!我希望它以{“username”:“password”} 我在这个论坛上四处查看,并尝试改变它打开文件的方式,例如a和w。我对所有的答案都感到困惑,无法将其与我的答案联系起来 path_to_json = "./logins.json" logins = json.load(open("logins.json", "a")) usern
{“username”:“password”}
我在这个论坛上四处查看,并尝试改变它打开文件的方式,例如a
和w
。我对所有的答案都感到困惑,无法将其与我的答案联系起来
path_to_json = "./logins.json"
logins = json.load(open("logins.json", "a"))
username = (input('New Username: '))
password = (input('New Password: '))
logins = ['login'].append({username:password})
with open('logins.json', 'a') as outfile:
json.dump(logins)
我希望它会添加一个用户,但是我得到了错误:
回溯(最近一次调用):文件“”,第1行,在
new\u user()文件“N:\NEA Computing\NEA code.py”,第32行,在new\u user中
logins=json.load(打开(“logins.json”,“a”))文件“C:\Program Files\Python36\lib\json\uuuuuu init\uuuuuu.py”,第296行,装入
返回加载(fp.read(),io.UnsupportedOperation:不可读
我的计算机上的目录中有一个.json文件。将“a”改为“r”,以便文件可读
logins=json.load(打开(“logins.json”、“r”))
将“a”改为“r”,以便文件可读
logins=json.load(打开(“logins.json”、“r”))
@kuco23解决了第一个问题,但还有其他几个问题。首先,在Python列表上使用append()
时不必赋值。第二个问题是,dump()
需要一个文件指针作为另一个参数
另外,我不知道为什么要使用append more进行编写,因为您已经在列表中添加了。我将其更改为写入模式
import json
path_to_json = "./logins.json"
with open("logins.json", "r") as content:
logins = json.load(content)
username = input('New Username: ')
password = input('New Password: ')
logins.append({username: password})
with open("logins.json", "w") as outfile:
json.dump(logins, outfile)
或者更接近OP所做的
import json
path_to_json = "./logins.json"
logins = json.load(open("logins.json", "r"))
username = input("New Username: ")
password = input("New Password: ")
logins.append({username: password})
json.dump(logins, open("logins.json", "w"))
@kuco23解决了第一个问题,但还有其他几个问题。首先,在Python列表上使用
append()
时不必赋值。第二个问题是,dump()
需要一个文件指针作为另一个参数
另外,我不知道为什么要使用append more进行编写,因为您已经在列表中添加了。我将其更改为写入模式
import json
path_to_json = "./logins.json"
with open("logins.json", "r") as content:
logins = json.load(content)
username = input('New Username: ')
password = input('New Password: ')
logins.append({username: password})
with open("logins.json", "w") as outfile:
json.dump(logins, outfile)
或者更接近OP所做的
import json
path_to_json = "./logins.json"
logins = json.load(open("logins.json", "r"))
username = input("New Username: ")
password = input("New Password: ")
logins.append({username: password})
json.dump(logins, open("logins.json", "w"))
共享此文件
NEA code.py
您做了什么来调试此文件?您好,我不知道如何共享此文件。我是此网站的新手。我已搜索了一些错误代码并通过电子邮件发送给我哥哥,因为他在这一领域比我聪明得多。我已更改了文件的打开方式,例如r用于读取或a用于附加或w用于写入。您可以共享吗json
文件格式?共享此文件NEA code.py
你做了什么来调试此文件?您好,我不知道如何共享此文件。我是此网站的新手,我搜索了一些错误代码并通过电子邮件发送给我哥哥,因为他在这方面比我聪明得多。我已更改了文件的打开方式,例如r for read或a for append或w for Write您可以共享json
文件格式吗?OP试图以append
模式打开文件以读取,这是导致问题的原因。+1Hi,这有助于删除一些错误,但我有一个错误,说我是NameError:name'fp'未定义
这是针对json.dump(登录)行的
Writejson.dump(登录、输出文件)
作为json.dump
接受第二个名为fp
的参数,您没有提供该参数。op试图以append
模式打开文件以读取,这是导致问题的原因。+1Hi,这有助于删除一些错误,但是我有一个错误,我说我是name错误:未定义名称“fp”
这是f或者行json.dump(logins)
Writejson.dump(logins,outfile)
asjson.dump
接受另一个名为fp
的参数,你没有提供它。我是不是想把内容
改成另一个变量或单词?这是新的,所以我有点困惑。从这张图上看,你用你的answer@Cfluxcontent
变量名不存在这里真的很重要。with
只是我习惯使用的另一种用Python打开文件的安全方法。像你提到的那样打开文件也可以,只是别忘了使用正确的模式,即,read
,write
或append
嗨,我是想把内容
更改为另一个变量吗e或单词?这是新的,所以我有点困惑。从这张照片上看,你用你的手指击中了我的头answer@Cfluxcontent
变量名在这里并不重要。with
只是另一种用Python打开文件的安全方法,我习惯使用这种方法。像您提到的那样打开文件也可以,只是不要或设置为使用正确模式,即读取
,写入
或追加