python下载文件保存_python下载图片并保存到文件夹

从网络下载图片并保存到磁盘文件中

建立保存图片的目录

如果目录不存在,则建立文件目录。

使用os.makedirs(file_path)建立目录,而不是使用os.mkdir(file_path)。

因为mkdir只能建立单级文件目录。

makedirs则能建立多级文件目录,也能建立单级文件目录。

单级文件目录:img

多级文件目录:my/book/img

获得图片名(包含路径)

从图片url中取得图片后缀——jgp,png之类的

os.path.splitext(path)

将文件路径(包含文件名)拆分为:[路径\文件名, 文件后缀]

拼接图片名(包含路径)

filename = 目录路径 +文件分隔符+ 图片名+图片后缀

使用os.sep获得系统文件分隔符,避免不同平台造成不同的文件分隔符。

下载图片

使用urllib.urlretrieve(url,filename)下载图片

代码如下

def save_img(img_url,file_name,file_path='book\img'):

#保存图片到磁盘文件夹 file_path中,默认为当前脚本运行目录下的 book\img文件夹

try:

if not os.path.exists(file_path):

print '文件夹',file_path,'不存在,重新建立'

#os.mkdir(file_path)

os.makedirs(file_path)

#获得图片后缀

file_suffix = os.path.splitext(img_url)[1]

#拼接图片名(包含路径)

filename = '{}{}{}{}'.format(file_path,os.sep,file_name,file_suffix)

#下载图片,并保存到文件夹中

urllib.urlretrieve(img_url,filename=filename)

except IOError as e:

print '文件操作失败',e

except Exception as e:

print '错误 :',e

我们来下载简书首页的图片来测试一下:

938763947de3

image.png

下载这个图片

if __name__ == '__main__':

img_url = 'http://upload.jianshu.io/admin_banners/web_images/2474/259a36ccbca577c3064c68ab3c0f1834d77456d7.png'

save_img(img_url,'jianshu')

运行结果如下:

938763947de3

image.png

938763947de3

image.png

保存到指定文件目录:

if __name__ == '__main__':

file_path = 'I:'+os.sep + 'myimg'

img_url = 'http://upload.jianshu.io/admin_banners/web_images/2474/259a36ccbca577c3064c68ab3c0f1834d77456d7.png'

save_img(img_url,'jianshu',file_path=file_path)

运行结果如下:

938763947de3

image.png

938763947de3

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值