当我使用它作为输入文件的内容时:
1,3,5,7,9,11
我收到此错误:
IndexError: li
with open('fig.fig') as o:
n = 6
for i in range(1, 2*n, 2):
print(o.readlines()[i].replace(' ', ''))
答案 0 :(得分:0)
以下代码没有任何问题:
n = 6
for i in range(1, 2*n, 2):
print <something>[i].replace(' ', '')
所以问题在于打开或读取你的文件(真正打开?行长?)。希望有所帮助。
答案 1 :(得分:0)
打开并处理文件时,应始终确保不要尝试读取比文件中实际更多的行。此外,您正在重复调用readlines
这是非常低效的。尝试类似:
with open('fig.fig') as o:
lines = o.readlines()
n=6
for i in range(1, min(len(o), n*2), 2):
print(lines[i].replace(' ', ''))
这将读取奇数行,最多n * 2,或文件中的最大行数,以较小者为准。您还应检查该文件是否存在(一种方法是使用os.path.isfile('fig.fig')
,或将所有内容包装在try块中。