我在Python IDLE中运行此代码,它只返回指定的字母数量而不是指定的行数。
if os.path.exists(saveDir + name + '.txt') == True:
print('welcome back ' + name + '.')
file = open(saveDir + name + '.txt')
race = file.readline(1)
else:
race = intro()
当我打印竞赛变量时,它出现为G(输入名称为Grant)。 文本文件如下所示
Grant
Human
我做错了什么?
答案 0 :(得分:1)
race = file.readline(1)
返回该行的1个字节(字符)(请参阅here)。您想要返回整行,请致电race = file.readline()
。
答案 1 :(得分:0)
您是在尝试阅读单行还是所有行? file.readline()
将以字符串形式返回文件的第一行。如果再次调用,它将返回第二行,依此类推。您还可以将文件的所有行加载为file.readlines()
的列表,然后使用[0]
或[1]
获取第一个或第二个元素,这样file.readlines()[1]
将会产生"人类"
答案 2 :(得分:0)
if os.path.exists(saveDir + name + '.txt') == True:
print('welcome back ' + name + '.')
file = open(saveDir + name + '.txt')
race = file.readline() # this reads one line at a time
raceType = file.readline() # this will give you the second line (human)
else:
race = intro()