只有当我包含我在下面注释掉的打印行时,才会出现此问题。
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
i = 0
count = 0
with open(fname, 'r') as fh:
for line in fh:
temp = line.split()
#print(temp[0])
count+=1
print(count)
当您尝试拆分空字符串时,它会返回一个空列表:
>>> ''.split()
[]
因此,尝试访问temp[0]
会引发IndexError
异常,并且您的处理将停止。 你可以这样修复它:
if not line: # line is blank
continue
当一行为空时,temp
也是空的。没有要打印的temp[0]
,Python 以未捕获的IndexError
终止。