瞻博网络防火墙配置文件到字典

时间:2019-05-10 08:39:43

标签: python juniper

我在学校从事一个项目。我被要求将杜松防火墙配置文件转换为另一种防火墙语法。我的问题是将杜松conf文件转换为字典,以便我可以对其进行处理

i我尝试通过“ {”和“}”以及许多其他内容来分割文本,但似乎无济于事

    family inet {
        replace:
        /*
        ** $Id:$
        ** $Date:$
        ** $Revision:$
        **
        */
        filter bridge {
            interface-specific;
            term rule100 {
                from {
                    source-address {
                        10.0.0.1/32;
                    }
                    destination-address {
                        10.0.0.1/32;
                    }
                    protocol tcp;
                    destination-port 80;
                }
                then {
                    discard;
                }
            }
      }
    }
}

我希望像这样的python字典

dic = { "term rule100" : {
                "from" :{
                    "source-address" : "10.0.0.1/32;",
                    "destination-address" : "10.0.0.1/32;",
                    "protocol" :"tcp;", "destination-port" : "80;",
                    "then" : "discard;"
                },
            }
}

1 个答案:

答案 0 :(得分:-1)

我在工作中遇到了类似的问题,即以一个格式良好的UI显示配置的值并获取最新的配置,我使用“ display xml”格式运行CLI命令。 例如。     显示配置安全区域|显示xml

这将以漂亮的xml格式返回输出,然后可以使用各种XML读取器读取输出。

您还可以使用“ display json”选项,该选项以json格式返回输出。