2012-04-08 2 views
0

Я разрабатываю программу на python для загрузки списка файлов. названы:Batch File Downloader: Генератор имен

2012-01-01-01.html 
2012-01-01-02.html 
... 
... 
2012-12-30-99.html 

Проблема в том, что я не знаю, существует ли файл. Так что я должен проверить все адреса из 404 Как я могу сделать генератор, который увеличивает счетчик для 'year'-'month'-'date'-'num если одна ссылка не работает, то пропустить дату и если все звенья определенного месяца не удается пропустить месяц и так далее смогу только написать код, имеющие много «если является ли лучшей идеей

wset_fail=[] 
for year in [2012,2011]: 
    for month in range(1,12): 
     for day in range(1,31): 
      for num in range(1,100): 
       check = str(year)+'-'+str(month)+'-'+str(day) 
       if check not in wset_fail: 
        link = generate_name(year,month,day,num) 
        if link!='': 
         if download(link)==False: 
          wset_fail.append(str(year)+'-'+str(month)+'-'+str(day)) 

Его Рабочий я прошу какое-то лучшее решения

+1

Простые три вложенные петли с одиночным, если бы работали. Покажите нам, что вы пробовали, и почему это не удалось. –

+1

Вы хотите 'range (1, 13)' и 'range (1, 32)'. Вы также хотите повторно использовать 'check' вместо перерасчета' str (year) + ... '. Кроме того, проверка 'check not in wset_fail' может быть удалена, так как все значения' check' являются новыми, в самом внутреннем цикле. – EOL

+0

проверяет, не был ли установлен набор файлов для определенного файла – Sreevisakh

ответ