我试图从令牌变量访问列表元素,但我继续得到错误
print token[0]
IndexError: list index out of range'
Run Code Online (Sandbox Code Playgroud)
当我尝试从令牌列表中访问元素时.
文件rebase文件的内容是:
ZraI 3 GAC'GTC 0 ! AatII >INV
;ZrmI 3 AGT'ACT 0 ! ScaI,AssI,BmcAI >I
Run Code Online (Sandbox Code Playgroud)
而代码是:
with open (rebase_file, 'r') as rebase:
lines = rebase.readlines()
string = ''
for line in lines:
token = line.split()
print token[0]
Run Code Online (Sandbox Code Playgroud)
你遇到一个空行:
>>> ''.split()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
只需测试一下if line.strip()::
with open (rebase_file, 'r') as rebase:
for line in rebase:
if line.strip():
token = line.split()
print token[0]
Run Code Online (Sandbox Code Playgroud)
请注意,我直接遍历文件,而不是一次性将其全部读入内存.