如何解决高分仅打印0 python
我的highscore.txt总是读为零,我不知道为什么。有人可以帮我吗?
try:
File = open("Highscore.txt","r+")
File.write(str(uScore))
for x in File:
print(x)
File.close()
except FileNotFoundError:
File = open("Highscore.txt","w+")
File.write(str(uScore))
for x in File:
print(x)
File.close()
解决方法
这可能与您写入文件的方式无关,但是uScore的值可以等于0。
在写入文件之前尝试打印出uScore,并确保它不为0。
,打开"r+"
的文件时,文件指针位于开头,因此File.write(str(uScore))
将覆盖第一个分数。
您可能想要打开的文件用于追加(a+
),将乐谱写到末尾,然后将文件倒带到开头并读取所有乐谱。您还需要编写一个分隔符,例如换行符,以便您可以知道每个分数的结尾。
File = open("Highscore.txt","a+")
File.write(str(uScore) + '\n')
File.seek(0)
for x in File:
print(x)
File.close()
此外,(a)将小写字母用作变量,以及(b)使用with
语句以确保始终关闭文件是一种很好的样式:
with open("Highscore.txt","a+") as f:
f.write(str(u_score) + '\n')
f.seek(0)
for x in f:
print(x)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。