Python:打开并写入.txt文件

时间:2015-11-30 23:43:45

标签: python python-2.7

我是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文件与程序在同一目录中。

4 个答案:

答案 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")