Как пропускать исполнение цикла for
Как сделать так, что бы пока итерация не достигла 5, цикл не выполнялся, а после этого выполнился 1 раз и снова не выполнялся до тех пор, пока итерация опять не достигнет 5 в этом коде (цикл на 8 строчке, proxy-list):
import os
import requests
import time
i = 0
password = input("Введите пароль: ")
numbers = open("sc_base.txt", "r").readlines()
proxies = open("proxy_test.txt", "r").readlines()
for i,(proxy_list,login) in enumerate(zip(proxies,numbers), 1):
try:
i += 1
if i % 5 == 0:
s = requests.Session()
s.proxies.update({'http': 'http://' + proxy_list})
else:
pass
print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
print(login)
print(proxy_list + ' + PROXY')
Ответы (2 шт):
Автор решения: Ildar
→ Ссылка
привел минимальный пример как можно решить ваш вопрос, у вас почти правильно было только вы зачем то i в цикле инкрементируете, когда это в enumerate само итак происходит
здесь каждые пять итераций печатается "обновляем proxy", и на каждой итерации печатается, что "обновляем login"
proxies = [i for i in range(10)]
for i, proxy in enumerate(proxies, 1):
if i % 5 == 0:
# update proxy here
print(f'обновляем proxy')
# update login here
print(f'обновляем login')
Автор решения: Spatz
→ Ссылка
У вас смешались два индекса - я их разделил на i_proxy и i.
Перебор proxy убрал из цикла и индексацию сделал в ручную.
import os
import requests
import time
i_proxy = 0
password = input("Введите пароль: ")
numbers = open("sc_base.txt", "r").readlines()
proxies = open("proxy_test.txt", "r").readlines()
for i,login in enumerate(numbers, 1):
if i % 5 == 0:
i_proxy += 1
try:
s = requests.Session()
s.proxies.update({'http': 'http://' + proxies[i_proxy]})
print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
print(login)
print(proxies[i_proxy] + ' + PROXY')