我在python中下载多个图像,问题是只下载循环中的最后一个图像
for imgRec in imgresult:
temp = os.path.join(cwd,'photo_dump',str(fbid))
if os.path.exists(temp):
shutil.rmtree(temp)
try:
os.makedirs(temp)
except OSError:
pass
tmp_filename = imgRec[3].split('/')[-1]
img_link = imgRec[3]
if(downimg(temp,img_link,tmp_filename)):
print 'Done'
和函数代码是
def downimg(temp,img_link,tmp_filename,count):
tm = None
im = None
tm = urllib.urlopen(img_link).read()
im = Image.open(StringIO.StringIO(tm))
im.verify()
res[count] = urllib.urlretrieve(img_link,os.path.join(temp,tmp_filename))
return res[count]
答案 0 :(得分:0)
在for循环的每次迭代中,似乎删除了下载图片的目录“temp”。 如果您需要将所有图像下载到一个目录中,则创建该文件夹的代码应该在循环之前。
temp = os.path.join(cwd,'photo_dump',str(fbid))
if os.path.exists(temp):
shutil.rmtree(temp)
try:
os.makedirs(temp)
except OSError:
pass
for imgRec in imgresult:
tmp_filename = imgRec[3].split('/')[-1]
img_link = imgRec[3]
if(downimg(temp,img_link,tmp_filename)):
print 'Done'
如果您需要每个图像的目录,请在循环内更改“fbid”。