我有一个输入文件:
.......
.......
# Start
A 2 100
B 3 200
C 4 1000
# End
........
........
我想将第 2 列打印为:
2
3
4
我的代码是:
with open("my_file.txt") as f:
parsing=False
for line in f:
if line.startswith("# Start"):
parsing = True
elif line.startswith("# End"):
parsing = False
if parsing:
line = line.split()
if line:
print line[1]
但是,我得到一个输出错误
print line[1]
IndexError: list index out of range
如果我使用 print line[0],它会打印:
A
B
C
任何错误的建议
在访问第二个之前检查行
的长度
/大小
[在line.split()
之后]数组 [line[1]
]
中的元素
尝试;
with open("my_file.txt") as f:
parsing=False
for line in f:
if line.startswith("# Start"):
parsing=True
elif line.startswith("# End"):
parsing=False
if parsing:
line_arr = line.split()
if len(line_arr) > 1:
print line_arr[1]
我是一名优秀的程序员,十分优秀!