@azbukait
Изучаю самостоятельно языки

Работа с функциями puthon 3.6?

Доброго времени суток, знатоки!

Только начинаю изучать питон, пишу телеграм бота для своих нужд и возник вопрос по функциям. У меня есть код:
def solR(status):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex(('192.168.11.12',3389))
    if result == 0:
        status = 'Удаленка №1 - ОК'
    else:
        status = 'Удаленка №1 - Ошибка'
    sock.close()
    return status
status = ''


вызываю результат так:
@bot.message_handler(commands=['Status'])
def welcome_status(message):
    if autor(message.chat.id):
        bot.send_message(message.chat.id, 'Статсус: \n' + solR(status))


Всё работает.
Вопрос:
Можно ли на несколько удаленок (допустим у меня их 5) проверку сделать в одной функции, а не в 5, и чтобы если какая-то из них не работает я знал какая по человечески — не по ip адресу?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
def solR(status):
    listip = ['192.168.11.12', '192.168.11.13', '192.168.11.14', '192.168.11.15']
    liststatus = []
    for x, ip in enumerate(listip, 1):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex((ip,3389))
        if result == 0:
            liststatus.append(f'Удаленка №{x} - ОК')
        else:
            liststatus.append(f'Удаленка №{x} - Ошибка')
        sock.close()
    return '\n'.join(liststatus)


тогда в welcome_status вернется примерно следующая строка:
Удаленка №1 - Ошибка
Удаленка №2 - Ошибка
Удаленка №3 - ОК
Удаленка №4 - Ошибка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы