我對這段代碼有疑問:
from netmiko import ConnectHandler
from re import search
lsite=[]
try:
NetworkDevice = {
"host" : "ip",
"username" : "username",
"password" : "mdp",
"device_type" : "cisco_ios"
}
connect = ConnectHandler(**NetworkDevice)
connect.enable()
command = "sh cdp nei"
result = connect.send_command(command).strip()
with open(r".\blabla.txt","w") as filout:
filout.write(result)
with open(r"blabla.txt") as temp_f:
datafile = temp_f.readlines()
for line in datafile:
if search("AP", line):
output = (f"{line}")
lsite.append(output.strip())
print(lsite[-1])
except(IndexError):
pass
我有這個輸出:
056_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/12 158 T B I AIR-CAP16 Gig 0
054_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/11 132 T B I AIR-CAP16 Gig 0
052_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/10 174 T B I AIR-CAP16 Gig 0
050_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/9 155 T B I AIR-CAP16 Gig 0
我想要這個輸出(也許必須分成 2 個輸出):
056_AP_GRANDE_TERRE.AMCMZ.LAN
054_AP_GRANDE_TERRE.AMCMZ.LAN
052_AP_GRANDE_TERRE.AMCMZ.LAN
050_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/12
Gig 0/11
Gig 0/10
Gig 0/9
split()我用or嘗試了很多方法,strip()但沒有發現任何有效的方法。
這print(lsite[-1])是因為只有列印才能lsite顯示附加我的串列的每一行,例如:
['056_AP_GRANDE_TERRE.AMCMZ.LAN']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0', '054_AP_GRANDE_TERRE.AMCMZ.LAN']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0', '054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0', '054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0', '054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0', '050_AP_GRANDE_TERRE.AMCMZ.LAN']
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0', '054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0', '050_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/9 177 T B I AIR-CAP16 Gig 0']
['056_AP_GRANDE_TERRE.AMCMZ.LAN']
uj5u.com熱心網友回復:
我希望這是你需要的。
list_of_lists = [['056_AP_GRANDE_TERRE.AMCMZ.LAN'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0',
'054_AP_GRANDE_TERRE.AMCMZ.LAN'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0',
'054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0',
'054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0',
'054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0',
'050_AP_GRANDE_TERRE.AMCMZ.LAN'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/12 123 T B I AIR-CAP16 Gig 0',
'054_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/11 154 T B I AIR-CAP16 Gig 0',
'052_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/10 142 T B I AIR-CAP16 Gig 0',
'050_AP_GRANDE_TERRE.AMCMZ.LAN', 'Gig 0/9 177 T B I AIR-CAP16 Gig 0'],
['056_AP_GRANDE_TERRE.AMCMZ.LAN']]
lans = set()
gigs = set()
for outer in list_of_lists:
for inner in outer:
if ".LAN" in inner:
lans.add(inner)
else:
gigs.add(inner.split(" ")[0])
for lan in lans:
print(lan)
for gig in gigs:
print(gig)
輸出:
050_AP_GRANDE_TERRE.AMCMZ.LAN
056_AP_GRANDE_TERRE.AMCMZ.LAN
052_AP_GRANDE_TERRE.AMCMZ.LAN
054_AP_GRANDE_TERRE.AMCMZ.LAN
Gig 0/11
Gig 0/12
Gig 0/9
Gig 0/10
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/473601.html
標籤:Python python-3.x 分裂 条
