我有一个txt文档,其中包含很多这样的行:
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
我需要将“天”部分切掉。在此示例中,它将是Sat,位置索引= 2。
我有以下有效的代码:
for line in thetxtfile:
if line.startswith('From '): # watch there is a space after the string 'From'
line = line.split()
day = line[2] # slice the 'day' part out, position index = 2
dict[day] = dict.get(day,0) + 1
但是我注意到,如果我不在'From'之后添加空格,则上面的代码将返回indexerror:列表索引超出范围。
也就是说,如果我像下面这样重写if语句,则会发生错误:
if line.startswith('From') # watch there's no space after the string 'From'
如果我没有在'From'之后添加空格,则位置索引0可以正确返回'From';位置索引1可以正确返回电子邮件地址。但是从位置索引2开始,它超出了范围。
有人可以解释吗?