将整数保存到文件并检索

时间:2019-02-16 12:43:57

标签: python

myFile = open('high scores.py', 'w')

if player1_total > player2_total :
        myFile.write(player1_total)
else :
        myFile.write(player2_total)
myFile.close

3 个答案:

答案 0 :(得分:1)

文件write方法仅需要字符串(或字节字符串,如果文件以二进制模式打开)。 max函数也可以为您节省条件。尝试类似的东西:

with open('high_scores.py', 'w') as myFile:
    myFile.write(str(max(player1_total, player2_total)))

然后您将可以通过阅读此内容

with open('high_scores.py') as f:
    high_score = int(f.read())

请注意,使用with语句可确保无论with块的输出结果如何,文件始终正确关闭。

就个人而言,由于该文件不是Python程序文件,因此我将使用其他扩展名。要存储更大的一组值,请考虑使用shelve模块。

答案 1 :(得分:0)

myFile = open('high scores.py', 'w')

if player1_total > player2_total :
        myFile.write(str(player1_total))
else :
        myFile.write(str(player2_total))
myFile.close()

问题是您需要在写入前将整数转换为字符串。最简单的方法是str(player2_total)

完成操作后也要关闭文件documentation

  

使用完文件后,请调用f.close()将其关闭并释放   打开文件占用的所有系统资源。

但这answer中给出了一种简洁的编写方法。

可以在PEP-0343中找到有关使用上下文管理器with open():的更多信息,并在此blog post上进行阅读

答案 2 :(得分:0)

在写入文件之前将您的值转换为字符串: myFile.write(str(player1_total))