我是python的新手,因此我尝试制作ATM(模拟器,我猜)。其中一个功能是注册,因此我尝试将用户名保存在.txt文件中以供参考(当然密码会在稍后出现),但由于某种原因它无法正常工作。
def atm_register():
print "To register, please choose a username."
username = raw_input('> ')
with open("users.txt") as f:
f.write(username, "a")
它告诉我,该文件未打开以进行写入。 顺便说一句,users.txt文件与程序在同一目录中。
答案 0 :(得分:1)
我认为应该是:
open("users.txt","w")
答案 1 :(得分:1)
你应该使用
with open("users.txt","a") as f:
f.write(username)
而不是
with open("users.txt") as f:
f.write(username, "a")
希望这有帮助!
答案 2 :(得分:0)
您必须以写入模式打开文件。见the documentation for open
open('users.txt', 'w')
应该有用。
答案 3 :(得分:0)
鉴于您正在调用f.write(username, "a")
而文件write()
只需要一个参数 - 要写的文字 - 我想您打算将"a"
添加到追加到文件?
进入open()
电话;其他答案告诉您使用open(name, "w")
是不好的建议,因为它们会覆盖现有文件。而且你可能想在用户名之后写一个换行符,以保持文件整洁。 e.g。
with open("users.txt", "a") as f:
f.write(username + "\n")