所以我有一个玩家输入他/她的名字。该名称将写入文件。然后打开文件,读取并将全局变量更改为所述文件中的内容。这最终将成为我为一个班级开发的游戏的保存功能。
def nameWrite():
text_file = open("name.txt", "w+")
print('what u name')
text_file.write(input())
text_file.close()
def nameRead():
text_file = open("name.txt","r")
print ("This is the output in file:",text_file.read())
global playerName
playerName = text_file.read()
text_file.close()
nameWrite()
nameRead()
print("You name is now:",playerName)
为什么这不会改变变量playerName
?
答案 0 :(得分:0)
全局变量正在更新,只是没有更新到您认为应该更新的内容。
看看这段代码:
def nameRead():
text_file = open("name.txt","r") # 1
print ("This is the output in file:",text_file.read()) # 2
global playerName
playerName = text_file.read() # 3
text_file.close()
当它执行时,会发生这种情况:
除非您关闭并重新打开文件,否则无法从文件中读取两次,或使用seek
函数将文件指针移回开头。