Python将变量保存在json文件中

时间:2019-05-21 16:34:17

标签: python json

我现在正在为用户名保存系统。当前变量如下所示:name = input(“您叫什么名字”)。我把它写到一个文本文件中。

我尝试将name设置为没有输入的变量,并尝试使输入成为write函数(idk为什么)。这些都不运气。

def welcome():
    os.system('cls' if os.name == "nt" else 'clear')
    print(color.color.DarkGray + "Welcome...")
    sleep(5)
    name = input("Enter Name Here: ")
    name1 = name
    saveUserInp = open("userNames.txt", 'w')
    with open ("userNames.txt") as f:
        f.write(name)
    sleep(5)
    print("Welcome",name1)
    sleep(5)
    menu()

上面提供的是欢迎功能的代码。

Traceback (most recent call last):
  File "main.py", line 54, in <module>
    welcome()
  File "main.py", line 21, in welcome
    f.write(name)
io.UnsupportedOperation: not writable

提供了给出的实际错误。第54行正在调用Welcome函数,该函数在我输入我的名字后中断。 f.write函数类似于21。我不确定为什么它不想将其写入文件。

1 个答案:

答案 0 :(得分:2)

如果文件与读取的文件不同,则应打开文件以指定打开模式:

with open ("userNames.txt", "w") as f:
        f.write(name)

open(未提供任何模式)默认情况下会以读取模式打开文件,这不足为奇。

顺便问一下,两次打开文件有什么意义?行

saveUserInp = open("userNames.txt", 'w')
...
saveUserInp.close()

由于使用with语句打开文件,因此可能会被删除。