如何使用python打印文件中匹配字符串后的n行?在
Linux命令grep
abc@xyz:~/Desktop$ grep -A 10 'foo' bar.txt
foo
<shippingcost>
<amount>3.19</amount>
<currency>EUR</currency>
</shippingcost>
<shippingtype>Normal</shippingtype>
<quality>GOOD</quality>
<unlimitedquantity>false</unlimitedquantity>
<isrsl>N</isrsl>
<stock>1</stock>
此命令将在文件中匹配的字符串“foo”后打印10行条形图.txt在
使用Python如何做同样的事情?在
我尝试了:
^{pr2}$上面的Python代码给出了以下输出:
abc@xyz:~/Desktop$ python grep.py
['foo']
file
对象,如origin_file
是迭代器。不仅可以使用但也可以使用
^{pr2}$next(origin_file)
从迭代器获取下一项。 实际上,您可以从for-loop
内调用迭代器上的next
:如果没有额外的10行代码,上面的代码将引发}
要从迭代器中最多分割10个项目:
StopIteration
错误 在找到最后一个foo
之后。要处理这种可能性,可以使用^{现在代码将优雅地结束(不引发
StopIteration
异常),即使有 不是foo
之后的10行。在这是因为您指定给行,而您没有从file对象读取行,请将其更改为:
相关问题 更多 >
编程相关推荐