我正在尝试使用Python下载图像,并且在通过urllib和python下载图片时发现了一些不错的答案,但是当我尝试使用easygui键入url时,图像只会在浏览器中打开,而不是下载图像
这是我的代码:
import easygui as eg
import os
import urllib
url = eg.enterbox('Enter url: ', 'URL Choice')
name = eg.enterbox('Enter name: ', 'Name')
def DownloadImage(URL, name):
try:
image = urllib.urlopen(URL)
if image.headers.maintype == 'image':
buf = image.read()
path = os.getcwd() + 'C:\Users\USER\ImageGrabber\Pics'
file_path = '%s%s' % (path,name+'.jpg')
downloaded_image = file(file_path, 'wb')
downloaded_image.write(buf)
image.close()
else:
return False
except:
print 'Cannot access file'
return False
return True
DownloadImage(url,name)
我使用了类型函数,并且框的结果是字符串,所以我不知道为什么它不起作用
编辑:忘记包含变量
您的目标路径错误,os.getcwd()
给您当前的工作目录,并且您要追加一个绝对目录。
因此,假设您的脚本位于中C:\myscript.py
,os.getcwd()
将返回C:\
并添加到该脚本中,C:\Users\USER\ImageGrabber\Pics
结果将C:\C:\Users\USER\ImageGrabber\Pics
是无效路径,因此将转至异常。
path='C:\Users\USER\ImageGrabber\Pics\'
# The last '\' is important
那应该工作
编辑
我无法测试,因为我正在运行linux,但是目录可能需要像这样
path='C:/Users/USER/ImageGrabber/Pics/'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句