我基本上是想继续这个关于解析fortigate配置文件的未回答的问题。在
Reading a fortigate configuration file with Python
根本问题是这个配置包含很多这样的记录
edit 1
set srcintf "port26"
set dstintf "port25"
set srcaddr "all"
set dstaddr "all"
set action accept
set utm-status enable
set schedule "always"
set service "ANY"
set av-profile "default"
set nat enable
set central-nat enable
next
我想在一行上得到每个acl的输出,这样我就可以将它们导入到CSV中。问题是每个记录可以有可变的行数,缩进显示前一行的子部分。另一篇文章确实得到了一些正确的信息,但是它不能处理缩进。我已经想出了一些解决方法,可以用任意字符替换空白,但我不知道是否有一种方法可以读取数字制表符/空格并使用它来指示位置。在
谢谢
因此,我已经成功地阅读了您的文本,并将其转换为python语言的词典。这很简单。你基本上要做的事情是:
这将生成一个字典,允许您拨打以下电话:
^{pr2}$因此,现在可以生成csv文件:
生成csv文件:
如果您真的要计算行前的空格数,可以执行以下操作:
相关问题 更多 >
编程相关推荐