如何将图像下载到我使用 Python urllib 请求指定的文件夹?



例如,我想将图片下载到名为图片的文件夹中。我如何使用 urllib 请求执行此操作

import os
import urllib.request
try:
klasor_yarat = os.mkdir("resimler")
except:
pass
say = 1
for i in resim_listesi:
urllib.request.urlretrieve(i,str(klasor_yarat)+""resim" +str(say)+ ".jpg")
say+=1

这里似乎有几个问题:

  • ""resim"不是将'/'放入字符串的正确方法。你必须使用"/""\"
  • str(klasor_yarat)返回"None".
  • 您正在向检索到的图像添加".jpg"。如果图像是不同的扩展名怎么办?
  • 确保resim_listesi是可迭代的。我无法知道,因为它没有在给定的代码中定义。
  • 最后,尝试为变量使用英文名称,因为这将提高代码对其他人的可读性。

无论如何,这可能应该有效。

import os
import urllib.request
try:
klasor_yarat = os.mkdir("resimler")
except:
pass
say = 1
for i in resim_listesi:
urllib.request.urlretrieve(i,"resimler/resim" +str(say)+ ".jpg")
say+=1

os.mkdir()不返回任何内容,因此klasor_yarat代码中没有任何值。相反,请创建如下所示的路径:

import os
import urllib.request
resimler = "resimler"
try:
os.mkdir(resimler)
except:
pass
say = 1
for i in resim_listesi:
urllib.request.urlretrieve(i, os.path.join(resimler, "resim" + str(say) + ".jpg"))
say+=1

使用os.path.join()以独立于平台的方式创建路径,而不是尝试自己添加斜杠。

这应该可以通过指定图像的文件名/路径内的目录来实现。

例如:

import os
import urllib
try:
os.mkdir("directory")
except:
pass

url = "https://www.google.com/images/branding/googlelogo/1x/googlelogo_light_color_272x92dp.png"
urllib.request.urlretrieve(URL, "directory/google.png")

最新更新