python - 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.']
解决方案
该split
方法总是返回一个包含至少一个元素的列表,除非输入为空字符串 ( ''
)。将您的代码更改为:
for line in ipfile.readlines():
if line != '\n':
list_words = line.split()
fwrd= list_words[0]
# the do whaever you want with fwrd