我有一个程序,它将用户的highscore
写入文本文件。当用户选择playername
时,文件将以该用户名命名。
如果具有该特定用户名的文件已经存在,则程序应将数据追加到文件中(以便您可以查看多个highscore
)。如果不存在具有该用户名的文件(例如,如果用户是新用户),则应创建一个新文件并将数据写入其中。
以下是相关的但迄今为止不起作用的代码:
try:
with open(player): #player is the varible storing the username input
with open(player, 'a') as highscore:
highscore.write("Username:", player)
except IOError:
with open(player + ".txt", 'w') as highscore:
highscore.write("Username:", player)
上面的代码会在文件不存在时创建新文件并写入内容。如果文件已存在,在检查该文件时没有追加任何内容,也不会出现错误。
with open(player):
语句的目的是什么?此外,在您的异常处理程序中,您正在创建一个不同的文件player + '.txt'
,而不是您原本想要写入的文件。 - Markku K.open(whatever,'a') as highscore:
,它将实现您想要的功能:如果文件不存在,则创建该文件,如果文件存在,则将内容追加到文件中。 - Markku K.