@DimonfromChehov

Как вернуться в for in на место где закончился перебор после выхода из функции?

Добрый день,

Подскажите пожалуйста как вернуться назад в цикл for с значения на котором его прервал?

В my_function() каждый 4 цикла я вызываю функцию get_proxy() чтобы поменять прокси и из нее возвращаюсь обратно вызывая my_function(proxy_url). Проблема в том что цикл в my_function() начинается с самого начала.

Я предположил что нужно передать последнее значение которое было в for в get_proxy() а из него обратно в my_function(). Не уверен что решение будет правильным. Возможно ли вообще начат for in с того места где перебор закончился?

Так как используется Selenium то перезагрузка в любом случае нужна чтобы прокси обновился.

citys = {Москва, Самара, Краснодар,...,}

def get_proxy():
    ...
    ...
    ...
    get_count(proxy, url) # это действие начинает перебор городов сначала:(())




def get_count(proxy, url):
    ...
    for city in citys:
        ...
        if ... :
            get_proxy()



def main():
    get_proxy()

if __name__ == '__main__':
    main()
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rodion4dev
Если отвечать на вопрос, ответ - никак.

Но если я верно понял задачу, которую Вы перед собой поставили, то предлагаю следующий вариант:
cities = {"Москва", "Самара", "Краснодар"}


def get_proxy():
    return ""


def process_cities(proxy):
    # Логика обработки городов
    for city in cities:
        print(city)
        print(proxy)


def process():
    loop_number = 0
    proxy = get_proxy()

    while True:
        loop_number += 1

        if loop_number == 4:
            proxy = get_proxy()
            loop_number = 0

        process_cities(proxy)


if __name__ == "__main__":
    process()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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