如何让我的程序记录我游戏中的每一次胜利?

时间:2014-03-14 15:35:08

标签: python file-io time python-3.3

以下是记录胜利/失败的代码:

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()

每次记录时它都会覆盖文本文件的第一行。如何记录用户得到的每一次胜利/失败?

1 个答案:

答案 0 :(得分:1)

  

每次记录时它都会覆盖第一行   文本文件。

这种情况正在发生,因为当您打开文件时,您会给出模式" w"。在写入模式下,当您开始在文件中写入内容时,从头开始,因此新文本将替换旧文本。您需要设置追加模式" a"

以下是一个例子:

f = open('myfile','a+')
f.write("a line\n")
f.write("a new line\n")
f.close()

我们以追加模式打开文件, 写第一行并添加一个新行字符,然后写第二行,最后我们关闭文件