Я пытаюсь разобрать таблицу с коммутатора. Если состояние «вверх», продолжайте выполнение 1000 итераций, иначе остановите тест. Ниже приведена таблица, которую мне нужно проанализировать, и вывод "crt.Screen.Send (" show "+ chr (13))" ниже в коде.
OS2(config-iap)# show
IAP Summary Table
IAP IAP TX/RX Channel(s) Channel WiFi Cell TX RX
Name State Type Chains Primary + Bonds Setting Mode Antenna Size Power Threshold Stations
----- ----- ------------- ------------------------------- ------- ------- -------- ------- ------ --------- --------
iap1 up .11abgnac 3x3 6 auto bgn int-omni max 20dBm -90dBm 0
iap2 up .11anac 3x3 153 auto anac int-omni max 20dBm -90dBm 0
========
Totals: 0
OS2(config-iap)#
Ниже приведен весь код Python, который я использую для циклического переключения кода страны на 1000 итераций и проверки, находятся ли эти IAP1 / 2 в состоянии «вверх» или «вниз». Если «вверх», я бы хотел, чтобы программа продолжала выполнять итерации, в противном случае (если «вниз»), чтобы остановить или остановить тест. Приведенный ниже код работает без оператора for. Однако мне нужно визуально увидеть, когда состояние переходит в неактивное состояние, и вручную остановить тест.
import time
output=""
def Main():
state="up"
crt.Screen.Send(chr(13))
crt.Screen.WaitForString("# ")
crt.Screen.Send("config" + chr(13))
crt.Screen.WaitForString("# ")
crt.Screen.Send("interface iap" + chr(13))
crt.Screen.WaitForString("# ")
virt = 0
while virt < 1000: #1024 being the max number of VLANs
virt += 1
crt.Screen.Send("!" + str(virt) + chr(13))
crt.Screen.WaitForString("# ")
crt.Screen.Send("country-code us" + chr(13))
crt.Screen.WaitForString("(config-iap)# ")
time.sleep(3)
crt.Screen.Send("show date-time" + chr(13))
crt.Screen.WaitForString("# ")
crt.Screen.Send("show" + chr(13))
output = crt.Screen.recv(2000)
output=state.decode('utf-8')
ll=state.split(chr(13))
for item in ll:
if "iap" in ll:
mm=item.split()
if mm[1]==state:
continue
else:
break
#crt.Screen.WaitForString("# ")
crt.Screen.Send("country-code-reset" + chr(13))
crt.Screen.WaitForString("(config-iap)# ")
crt.Screen.Send("show" + chr(13))
crt.Screen.WaitForString("# ")
time.sleep(5)
crt.Screen.Send("exit" + chr(13))
crt.Screen.WaitForString("# ")
#time.sleep(1)
Main()
Это ошибка, которую я получаю:
AttributeError Error: 'SecureCRT.Screen' object has no attribute 'recv' File: /Users/Documents/SecureCRT_Scripts/country-code_1.py Line: 24 state = crt.Screen.recv(2000)