我正在嘗試使用 python 將 cisco 運行配置轉換為參數(shù),但我一直堅持使用 python 讀取配置部分。例如,假設您有以下節(jié):!interface Async1 no ip address encapsulation slip! router bgp 65500 bgp router-id 1.1.1.1 bgp log-neighbor-changes timers bgp 10 30 neighbor 1.2.3.4 remote-as 1234 neighbor 1.2.3.4 description Some Description neighbor 1.2.3.4 update-source GigabitEthernet0/0 ! address-family ipv4 network 2.2.2.2 mask 255.255.255.255 network 3.3.3.0 mask 255.255.255.252 neighbor 1.2.3.4 activate neighbor 1.2.3.4 allowas-in 3 neighbor 1.2.3.4 prefix-list PXL out exit-address-family!ip forward-protocol ndno ip http serverno ip http secure-server!我想從“路由器 bgp”中讀取行,直到第一行以“!”開頭 (例如^?。?,然后重新讀取塊以將參數(shù)提取到變量中。示例輸出將是:router bgp 65500 bgp router-id 1.1.1.1 bgp log-neighbor-changes timers bgp 10 30 neighbor 1.2.3.4 remote-as 1234 neighbor 1.2.3.4 description Some Description neighbor 1.2.3.4 update-source GigabitEthernet0/0 ! address-family ipv4 network 2.2.2.2 mask 255.255.255.255 network 3.3.3.0 mask 255.255.255.252 neighbor 1.2.3.4 activate neighbor 1.2.3.4 allowas-in 3 neighbor 1.2.3.4 prefix-list PXL out exit-address-family!注意:我可以使用 awk 或 grep 提取上述代碼,但我想將我的 bash 代碼轉換為 Python。謝謝!
2 回答

森欄
TA貢獻1810條經(jīng)驗 獲得超5個贊
試試這個:
from ciscoconfparse import CiscoConfParse
bgp = confparse.find_blocks(r"^router bgp 65500")
添加回答
舉報
0/150
提交
取消