列表索引超出范围(搜索答案,无工作)

时间:2017-12-08 22:50:01

标签: python-3.6

当我运行此代码时

f = open("test.txt", "r")
xp_levelup_save=f.readlines(3)
xp_levelup_save=[int(i.replace("\n", "")) for i in xp_levelup_save][2]
f.close()
print (xp_levelup_save)

但是出现错误"列表索引超出范围"如果readlines是2并且[2]是[1]它可以正常工作。不知道为什么会这样。任何人都可以帮助我找到解决方法。我曾尝试过多次讨论但没有讨论 似乎使用此代码。 我的文本文档看起来像这样

1
2
3
4
5
6

1 个答案:

答案 0 :(得分:0)

f.readlines()不需要参数来检索文档的行。如果你提供像f.readlines(n)这样的可选参数,Python会将其读作“期望n个字节并完成该行”。根据您的文本文件,这可能是一行,两行甚至更多行。

要阅读文本文件,只需使用

即可
xp_levelup_save = f.readlines()
#resume with your code

其中每一行都存储为变量xp_levelup_save中的字符串列表元素。

或者只是

xp_levelup_save = [int(i.replace("\n", "")) for i in f.readlines()][2]