#python #ip #os #ping
Есть небольшой скрипт, где я подключаюсь к свитчам по телнету. Но перед этим нужно
проверить доступен ли он. Программа работает, но если свитч недоступен программа не
останавливается, пока я принудительно это не сделаю. Подскажите как сделать чтобы программа
завершала процесс когда хост недоступен
import telnetlib
import os
Host = input("Введите Ip адрес свитча: ")
Ping = os.system("ping -c 1 " + Host)
if Ping == 0:
User = input("Username: ").encode()
Password = input("Password: ").encode()
tn = telnetlib.Telnet(Host)
tn.read_until(b'Username:')
tn.write(User + b'\n')
tn.read_until(b'Password:')
tn.write(Password + b'\n')
tn.write(b'terminal length 512' + b'\n')
inputCommand = input("Введите команду: ").encode()
tn.write(inputCommand + b'\n')
exitLine = input("Введите exit для завершения: ").encode()
tn.write(exitLine + b'\n')
showInf = tn.read_all().decode()
print(showInf)
else:
print(Host, "Недоступен")
Ответы
Ответ 1
Вы можете использовать библиотеку pythonping. Пример: if ping("8.8.8.8", verbose=false)[0].success: print("Successful!") Можете больше почитать в документации. verbose - отвечает за вывод на экран, функция возвращает массив ответов. Чтобы выйти из программы, вызвав соответствующую функцию, вызовите sys.exit(0), перед этим импортировав sys
Комментариев нет:
Отправить комментарий