Python:打开并写入.txt文件

Python:打开并写入.txt文件,python,python-2.7,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")

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

我认为应该是:

open("users.txt","w")

您必须以写模式打开文件。看


open('users.txt','w')
应该可以工作。

考虑到您正在调用
f.write(用户名,“a”)
和file
write()
只接受一个参数-要写入的文本-我想您打算将
“a”
附加到文件中

这将进入
open()
调用;其他告诉您使用
open(name,“w”)
的答案是错误的建议,因为它们会覆盖现有文件。您可能还希望在用户名后写一个换行符,以保持文件整洁。e、 g

with open("users.txt", "a") as f:
    f.write(username + "\n")
你应该使用

with open("users.txt","a") as f:
      f.write(username)
而不是

with open("users.txt") as f:
     f.write(username, "a")

希望这有帮助

打开('filename','w')作为f:
。如果要写入脚本目录,请查看,首先
导入os
,然后
打开(os.path.join(os.path.basename(\uuu文件);“users.txt”),“a”)
。这将从脚本目录而不是用户的当前工作目录生成路径名。除非您希望每次运行时都丢失数据,否则请使用
a
not
w
@Piethon如果这样做有效,您可以点击此答案附近的复选标记,将问题标记为已解决