例如,我想将图片下载到名为图片的文件夹中。我如何使用 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")