Страницы

Поиск по вопросам

пятница, 5 апреля 2019 г.

Как выйти из цикла python

Ищу циклом текущего пользователя компьютера в локальной сети
def scan_Lan(): ip_list = ['192.168.4.'] i = 50 while i <= 240: scan_ip = ip_list[0] + str(i) response = subprocess.Popen(["ping", "-n", "1", "-w", "200", scan_ip]).wait() if(response == 0): try: wql = 'SELECT * FROM Win32_computerSystem' c = wmi.WMI(scan_ip, user='office\admin', password='fff') for item in c.query(wql): currentUser = str(item.UserName) print(currentUser) if(currentUser == "ivanov"): print(scan_ip) break except: print("-") i += 1 print("end")
scan_Lan()
Все хорошо работает, но хочу после поиска выходить полностью из цикла while, как это сделать? Поставил вот здесь
print(scan_ip) break
но он по всей видимости выходит только из for, а как сделать глобальный break?


Ответ

break прекращает только вложенный цикл. Внешний цикл продолжает работать. Используйте return, когда результат найден в вашем случае:
if current_user == 'ivanov': return scan_ip

Комментариев нет:

Отправить комментарий