2012-04-08 62 views
0

我正在開發一個程序在python下載文件列表。 將被命名爲:批處理文件下載:名稱生成器

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

一個簡單的三個嵌套for循環與一個單一的工作。告訴我們你試過的是什麼以及它失敗的原因。 – 2012-04-08 06:55:57

+1

你想'範圍(1,13)'和'範圍(1,32)'。你也想重用'check'而不是重新計算'str(year)+ ...'。此外,可以刪除「不在wset_fail中檢查」的測試,因爲在最內層的循環中所有的「check」值都是新的。 – EOL 2012-04-08 09:11:58

+0

檢查檢查特定文件的文件集是否已失敗 – Sreevisakh 2012-04-09 07:13:18

回答

相關問題