我正在列表上执行for循环,想找到一个匹配项并打印下一行。但是,当我尝试使用next()方法时,总是失败。在指定的匹配项之后,在提取下一行时,我能获得一些帮助吗?
字符串(用于循环输出):
item_0
0
item_1
0
item_3
727
item_4
325
对于Loop查找匹配项和下一行:
result = tree.xpath('//tr/td/font/text()')
for line in result:
if 'item_3' in line:
print(line.next())
错误:
AttributeError: '_ElementStringResult' object has no attribute 'next'
line
是您代码中的lxml.etree._ElementStringResult
(修改的str
)。lxml.etree._ElementStringResults
没有next
方法,这就是为什么您得到一个AttributeError
。
您可以设置一个标志,指示应按以下方式打印下一行:
print_line = False
for line in result:
if print_line:
print(line)
print_line = False
if 'item_3' in line:
print_line = True
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句