Переход к следующему объекту в цикле for через n секунд?
ладно, так что я здесь немного не в себе.
Это мой код:
profiles = [profiles here]
f_profiles = [formatted profiles go here, this is useless, im just doing this to make the printing stuff look more pretty]
DAILY_SCHEDULED_TIME = "6:00"
def routine():
print(colored(f"Getting from {f_profiles}"))
for profile in profiles:
print(colored(f"\nFetching from: {profile}\n"))
os.system(f"instaloader {profile} --no-video-thumbnails --no-captions --no-metadata-json --no-compress-json --no-profile-pic --dirname-pattern={os.getcwd()}\\media\\")
def attemptRoutine():
while(1):
try:
routine()
break
except OSError as err:
print("Routine Failed on " + "OS error: {0}".format(err))
time.sleep(60*60)
#attemptRoutine()
schedule.every().day.at("06:00").do(attemptRoutine)
attemptRoutine()
while True:
schedule.run_pending()
time.sleep(60) # wait one min
он просто загружает мемы, чтобы другой мой сценарий мог отправлять их в виде SMS на мой телефон.
По сути, моя проблема в том, что этот сценарий продолжается вечно. Он загрузит сотни фотографий и видео из профиля, когда мне действительно нужно около 12 на пользователя.
Я здесь в замешательстве, потому что это цикл for для всех профилей в профилях, поэтому мне нужен способ прекратить то, что я делаю с одним профилем, чтобы он мог перейти к следующему через определенное время.
например
profile 1 -> Downloading memes.
(20 secs pass)
profile 1 -> quits -> profile 2 starts
etc and etc
но что сейчас происходит:
profile 1 -> Downloading memes
(20 secs pass)
profile 1 -> Downloading Memes
(1 hour pass)
profile 1 -> Downloading memes
etc etc
это потому, что, как я сказал выше, в профилях есть 100 из 1000 фотографий и видео. ооочень, это небольшая проблема.
Как я могу это сделать??
TL;DR Я хочу сделать таймер в цикле for. чтобы он мог остановить свои действия и продолжить работу с другим объектом в списке (цикл for) через определенное время
По сути, я хочу перейти к следующей итерации цикла for после
Если кто-то может помочь, пожалуйста, сделайте это, любая и вся помощь будет признательна, хотя, если бы вы могли уточнить, что я должен делать, как это работает или что-то в этом роде, это также было бы признательно.
Спасибо!
1 ответ
Если в вашем коде используется установщик , то похоже, что в документации указано, что существует
--count
параметр, в котором вы можете указать количество сообщений для загрузки:
--count COUNT, -c
Do not attempt to download more than COUNT posts. Applies to #hashtag, %location_id, :feed, and :saved.