Функция прерывания не работает в сценарии сброса настроек Cisco к заводским настройкам PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Функция прерывания не работает в сценарии сброса настроек Cisco к заводским настройкам Python

Сообщение Anonymous »

Код: Выделить всё

import serial
import time

# Serial port configuration
ser = serial.Serial("/dev/ttyUSB0", timeout=1)
print(f"Connecting to {ser.name}...")

# Strings for prompt detection
initPrompt = "Initializing Flash"
swPrompt = "switch:"
ynPrompt = " (y/n)?"

# Function to wait for specific prompt and send command
def wait_for_prompt_and_send(prompt, command):
while True:
response = ser.read_until(prompt.encode("utf-8")).decode("utf-8")
if prompt in response:
print(f"Found prompt: {prompt}")
ser.write(command)
ser.write(b"\n")
break

# Connect and send initial break commands
ser.write(b"\r")
print("Sent carriage return...")
time.sleep(0.5)
wait_for_prompt_and_send(initPrompt, b"\x03")  # break command

# Initialize flash
wait_for_prompt_and_send(swPrompt, b"flash_init\n\n")

# Delete vlan.dat
wait_for_prompt_and_send(swPrompt, b"del flash:vlan.dat\n")
wait_for_prompt_and_send(ynPrompt, b"y\n")

# Delete config.text
wait_for_prompt_and_send(swPrompt, b"del flash:config.text\n")
wait_for_prompt_and_send(ynPrompt, b"y\n")`

ser.close()

Мне приходится перезагружать многие старые коммутаторы Cisco, поэтому я хотел автоматизировать этот процесс.
Вместо того, чтобы удерживать нажатой физическую кнопку на коммутаторе, сценарий должен выдать команду прерывания после того, как программа запустила инициализирующую флэш-память initPrompt. Однако он этого не делает. Все, что я вижу на консоли Python, это то, что он отправил возврат каретки и нашел подсказку: инициализация flash. Когда я открываю сеанс SecureCRT и проверяю статус запуска, коммутатор выполняет обычную загрузку, поэтому перерыв определенно не сработал.
Win 10 и Python 3.10

Подробнее здесь: https://stackoverflow.com/questions/769 ... set-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»