python - 循环搜索文本文件中的特定分隔线

时间:2017-10-16 05:08:19

标签: python

我是新手python学习者并且遇到了这个问题...我很感激你的任何专家建议和帮助做一个python脚本,可以通过查看特定的分隔符来读取和搜索配置文件一组/一组线如下。

开始分隔符:^vpls\s\d+
结束分隔符:^!$

##This is an example subset of an Alcatel router config:
!
vpls xxx
sdp 1.1.1.1
backup
lsp LSP-1
... #some other settings here (not needed)
exit
sdp 2.2.2.2
lsp LSP-2
... #some other settings here (not needed)
exit
!
vpls yyy
sdp 1.1.1.1
backup
lsp LSP-1
... #some other settings here (not needed)
exit
sdp 2.2.2.2
lsp LSP-2
... #some other settings here (not needed)
exit
!

我想要实现的目标,请注意在导出到csv后,备份将在序列的最后一项上传输以进行标准格式化:

vpls xxx : sdp 1.1.1.1 : lsp LSP-1 : backup
vpls xxx : sdp 2.2.2.2 : lsp LSP-2 : 
vpls yyy : sdp 1.1.1.1 : lsp LSP-1 : backup
vpls yyy : sdp 2.2.2.2 : lsp LSP-2 : 

1 个答案:

答案 0 :(得分:0)

我制作了这个剧本。在router_cfg中,我存储了您提供的输出。

r = re.compile('(?:(vpls\w+)\s)?(sdp [\w\.]+)\s(?:(backup)\s)?(lsp [\w-]+)')
for line in r.findall(router_cfg):
    if line[0]: vpls = line[0]
    print ' : '.join([vpls, line[1],line[3],line[2]])

如果有什么不明白的地方,请问。