关于 'readlines' 和 'split()' 的问题

A question about 'readlines' and 'split()'

对于包含两个字符串的文件:True 和 26。当我使用 readlines 获取这些字符串时:

a, b = file.readlines()\[1\].split()
print(a, b)
\# True 26

结果是两个字符串:True 和 26。但是,当我只想获取字符串“26”并在它们之后添加另一行时:

a, b = file.readlines()\[1\].split()
print(a, b)
\# True 26
c = file.readlines()\[1\].split()\[1\]
\# IndexError: list index out of range

发生索引错误。我不明白为什么会这样。

结果应该是26,那么如何调试呢?

我假设您正在使用 Python。

当您多次使用 readlines 时,它会从上次停止的地方继续读取。当你 运行 该行两次时,你将第二次收到一个空数组,因此 file.readlines()[1] 上出现 IndexError。要么打开文件重新读取,要么保留第一次的值。