读取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