【发布时间】:2013-12-24 08:04:19
【问题描述】:
我有一个程序将用户的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'与您最初尝试写入的文件不同。 -
@MarkkuK 我是从stackoverflow 的另一个问题中得出的,您可以在其中检查文件是否存在。所以 with open(player): 检查文件是否存在,至少我是这么认为的。好吧,我明白了,我只是想我必须使用“.txt”才能使文件成为文本文件。
-
在任何情况下,你都可以使用
open(whatever,'a') as highscore:,它会做你想做的事情:如果文件不存在则创建,如果存在则追加到它 -
@MarkkuK 天哪,你是对的,因为它的简单性而爱上 python。谢谢!
标签: python python-3.x file append