def bras_command(channel, command, max_wait=5, buffer_size=9999):
channel.send(command + '\n')
output = b''
total_wait = 0
# Wait up to `max_wait` seconds for data to appear
while not channel.recv_ready() and total_wait < max_wait:
sleep(1)
total_wait += 1
if not channel.recv_ready():
print("
return ''
# Once output starts arriving, keep reading until delay hits
sleep(1) # let full command execute
last_chunk_time = time()
while True:
if channel.recv_ready():
chunk = channel.recv(buffer_size)
output += chunk
last_chunk_time = time()
else:
if time() - last_chunk_time > 1.5: # 1.5s of silence = end
break
sleep(0.2)
decoded = output.decode("utf-8", errors="ignore")
print(decoded)
return decoded
< /code>
Я пытаюсь превзойти команду
command = 'Показать описания интерфейсов | Совместите 13-3-13-90 '
, но когда функция превышает, она не дает вывода, после многих испытаний я обнаружил, что это потому, что когда человек делает это, это должно быть все равно, что набирать «показывать интерфейсы desc», и при нажатии места он будет ждать некоторое время, тогда появляются сдержания слова, следовательно, »| «Который будет ждать секунду или около того, а затем нажимать на« M », следовательно, пространство и подождать более короткое время, чем DESC, следовательно, появится слово, затем пробует строку '13 -3-13-90 'и нажимая Enter, чтобы наполнить < /p>
Я не смог моделировать ее всеми способами. Кто-нибудь может мне помочь? Матч 13-3-13-90 < /p>
Вот что следует ожидать при исключении < /p>
@cmg03-ato> Показать описания интерфейсов | Матч 13-3-13-90
AE11114.3182 UP 13-3-13-90-ZHRPC90-ZHRP-ATAT-T3182-L1798-P33
AE1114.3186 UP 13-3-13-900-ZHRPC900-ZHRP-ATAT-T318699999999999999999999999999999999999.-900-P33.P39999999999999999.P39999999999999.P3999999.P39999.P39999.P399999.P3999.P399999.P399999.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... er-command