[英]Iterative printing over two data types in Python
我經常瀏覽網上免費提供的藝術品。 實際上,我想不出更好地利用互聯網,而不是把它變成一個巨大的藝術畫廊。 當我遇到一組我很喜歡的作品時,我將它們全部下載到我的硬盤上。 wget
讓那么容易,尤其是在與Python的組合print
功能,我用這一切的時候做出的網址然后我的列表wget
。 假設我需要在“art”目錄中下載從art0到art100的jpeg列表,我告訴python
for i in range(0,101):
print "http://somegallery/somedirectory/art", i
所以,這可能是一個相當簡單的Python操作,並且在查找和替換后刪除空格,這只是使用wget -i
,但在我知道任何Python之前的幾天我會盲目地右鍵單擊並且救。
現在我收到了來自紐約Fredericks&Freiser畫廊的一堆文件,這些文件都是(1-14),b(1-14),c(1-14)等,直到字母g。 我可以在7次做到這一點,這比我寫這個問題花費的時間少。
也就是說,我想加深我對Python的了解。 因此,給定字母ag,如何打印每個字母到整數1-14的映射?
for i in ['a','b','c','d','e','f','g']:
for j in range(1,15):
url = BASE_URL + i + str(j)
print url
那是你在找什么?
嘗試這個:
['{0}{1}'.format(letter, number + 1) for letter in 'abcdefg'
for number in range(14)]
['http://somegallery/somedirectory/art/%s%s\n' % (chr(ordinal), number) for ordinal in range(ord('a'), ord('g')+1) for number in range(1, 15)]
你實際上並不需要Python。 假設您使用bash作為shell(其他shell中存在類似的機制),您可以使用大括號擴展:
wget http://somegallery/somedirectory/art{a..g}{1..15}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.