首页 > 解决方案 > python split函数中的索引超出范围问题

问题描述

这段代码有什么问题?

--ipfile 是一个ip文本文件

ipfile= open(filename,'rU')
for line in ipfile:
 list_words = line.split()
 fwrd= list_words[0]

我喜欢检查第一个单词,如果它是一个整数,我喜欢做其他事情。为什么 fwrd 分配给我范围错误的索引?

编辑:添加了文件打开行。另请注意,如果我打印,list_words 我可以看到打印文件中的所有行,例如:

['45', 'PAN', 'RECTANGULAR', 'STAINLESS,', '350X270X63MM', '172123', '2.00', 'PCS']
['Details', ':', 'Stainless', 'steel', 'made', 'pan', 'for', 'storing', 'meat,', 'fish,', 'vegetables,', 'etc.', 'prior', 'to', 'cooking.']

标签: pythonsplit

解决方案


split方法总是返回一个包含至少一个元素的列表,除非输入为空字符串 ( '')。将您的代码更改为:

for line in ipfile.readlines():
    if line != '\n':
        list_words = line.split()
        fwrd= list_words[0] 
        # the do whaever you want with fwrd

推荐阅读