以下是记录胜利/失败的代码:
def guessingTime(answer):
vdfile = open("victorydefeat.txt", "w")
now = time.asctime(time.localtime(time.time()))
print("That's 20! Time to guess.\n")
guess = input("Is it a(n): ")
if guess.lower() == answer:
print("You got it! Congratulations!")
vdfile.write("Victory achieved on ")
vdfile.write(now)
else:
print("Sorry, but the answer was", answer)
vdfile.write("Defeated on ")
vdfile.write(now)
vdfile.close()
每次记录时它都会覆盖文本文件的第一行。如何记录用户得到的每一次胜利/失败?
答案 0 :(得分:1)
每次记录时它都会覆盖第一行 文本文件。
这种情况正在发生,因为当您打开文件时,您会给出模式" w"。在写入模式下,当您开始在文件中写入内容时,从头开始,因此新文本将替换旧文本。您需要设置追加模式" a"
以下是一个例子:
f = open('myfile','a+')
f.write("a line\n")
f.write("a new line\n")
f.close()
我们以追加模式打开文件, 写第一行并添加一个新行字符,然后写第二行,最后我们关闭文件