读取python文件时出错

读取python文件时出错,python,file,function,Python,File,Function,所以我定义了这些: def highscorenumber(): file = open('GUESS THE NUMBER HIGHSCORE NUMBER.txt', 'r') highscorenum = file.readline(1) def highscorename(): file = open('GUESS THE NUMBER HIGHSCORE NAME.txt', 'r') highscorenum = file.readline(1)

所以我定义了这些:

def highscorenumber():
    file = open('GUESS THE NUMBER HIGHSCORE NUMBER.txt', 'r')
    highscorenum = file.readline(1)

def highscorename():
    file = open('GUESS THE NUMBER HIGHSCORE NAME.txt', 'r')
    highscorenum = file.readline(1)
这些都保存在与程序相同的目录中<代码>“猜数字HIGHSCORE NUMBER.txt”打开时显示:
“1”

当打开时,
“猜测数字HIGHSCORE NAME.txt”
会显示
“max”

但当我跑步时:

print("The current highscore is",highscorenumber,"set by",highscorename)
它说:

The current highscore is <function highscorenumber at 0x0000000002D46730> set by <function highscorename at 0x0000000001F67730>
当前高分由

为什么它这样说而不是说“当前高分是由max设置的1”?

因为您没有调用函数,Python正在打印函数对象本身的表示:

>>> def f():
...     return 1
...
>>> print(f)
<function f at 0x015E1618>
>>> print(f())
1
>>>

您还应该从每个函数返回对
readline
的调用:

def highscorenumber():
    file = open('GUESS THE NUMBER HIGHSCORE NUMBER.txt', 'r')
    return file.readline(1)
否则,默认情况下,函数将返回
None


最后,我将使用with语句打开文件:

def highscorenumber():
    with open('GUESS THE NUMBER HIGHSCORE NUMBER.txt', 'r') as file:
        return file.readline(1)

这将确保在您处理完它们时它们是关闭的。

使用camel case。。。这就是python阅读东西的方式。驼峰格是指名称中没有空格。。。另外,不要忘记关闭文件

例如,名称为:

GuessTheNumberHighscoreName.txt

1) 比这更具体,通常不使用下划线。2) Python用于不同种类的对象。3) 文件的名称与Python能否打开它完全无关。
GuessTheNumberHighscoreName.txt
Guess_The_Number_HighScore_Name.txt