我有一个网络设备配置的文本文件,我在文件的行中有我的脚本循环,这就是我正在寻找的内容:
如果它在行中找到特定的单词,我想将我的脚本附加到列表中。到目前为止,我只能在我的列表中附加一行...这是一个例子:
my_file = open('configs.txt', 'r')
license = []
for line in my_file:
if line.startswith ("show license verbose"):
license.append(line)
print license
到目前为止,只有一行显示“show license verbose”。我想让它在找到那个短语后再说5行。
感谢。
答案 0 :(得分:2)
xrange
它是python 2的python3代码你可能想要删除最后一次打印中的括号并使用range
代替 year RealTaxRevs
1 1971 8335046
2 1972 9624026
3 1973 10498935
4 1974 10052305
5 1975 8708381
6 1976 8911262
7 1977 10759032
答案 1 :(得分:2)
您可以使用itertools.islice
从文件对象中获取后续行:
from itertools import islice
my_file = open('configs.txt', 'r')
license = []
for line in my_file:
if line.startswith("show license verbose"):
license.append(line)
license.extend(islice(my_file, 5))
print license
答案 2 :(得分:1)
open返回一个生成器,因此您可以使用下一个方法:
d3.select([])