为什么文本文件的返回中有框(Python 3x)

时间:2019-01-14 22:34:11

标签: python-3.x file

我正在处理多个高分,到目前为止,我已经像这样设置了scores.txt文件: 1651 231 54

但是,当我对其进行测试时,它显示为this

为什么会发生这种情况,我该如何解决? 这是它发生的代码:

#high score
    line1 = 0
    line2 = 0
    line3 = 0
    with open("Assets\scores.txt") as multiple_hscore:
        multiple_hscore.seek(0)
        line1 = multiple_hscore.readline(10)
        line2 = multiple_hscore.readline(30)
        line3 = multiple_hscore.readline(50)

任何帮助将不胜感激!

P.S。我尝试过使用\ n并使用字符串和其他一些东西,但是它们没有用。

1 个答案:

答案 0 :(得分:2)

您正在从文件中读取的字符串在它们的末尾具有某种不可打印的字符,您的GUI库将该字符串呈现为一个框。造成这种情况的最可能原因是它显示换行符的方式,因为它无法为您布置多行文本。

您可能可以通过在阅读的每一行上调用strip()来解决此问题:

with open("Assets\scores.txt") as multiple_hscore:
    line1 = multiple_hscore.readline(10).strip()
    line2 = multiple_hscore.readline(30).strip()
    line3 = multiple_hscore.readline(50).strip()

对于要剥离的内容和进行类似.rstrip('\n')的操作,您也可以更加明确,但是除非空格可能是数据的相关部分,否则可能没有必要。

请注意,无需将0放置在新打开的文件中。除非您在模式'a'中打开文件,否则通常会从该位置开始(由于它是“追加”模式,它将为您寻找结尾)。