You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复报错“AttributeError: module 'urllib' has no attribute 'urlretrieve'”的URL下载脚本?

报错原因

AttributeError: module 'urllib' has no attribute 'urlretrieve' 这个错误的核心原因是Python版本兼容问题:

  • Python 2中,urlretrieve是urllib模块的直接方法
  • 但到了Python 3,官方把这个方法迁移到了urllib.request子模块里,你用Python 3环境跑Python 2风格的代码,自然找不到这个属性。
解决办法

方法1:修正原生urllib的调用方式

找到脚本里调用urlretrieve的代码块,做如下修改:
如果原来的代码是:

import urllib
urllib.urlretrieve(图片URL, 保存路径)

改成:

import urllib.request
urllib.request.urlretrieve(图片URL, 保存路径)

要是脚本里用了from urllib import *这种导入,直接改成:

from urllib.request import urlretrieve
urlretrieve(图片URL, 保存路径)

方法2:改用requests库(更简洁易用)

原生urllib的写法偏繁琐,推荐用requests库来实现图片下载:

  1. 先安装requests(没装过的话在终端执行):
pip install requests
  1. 替换脚本里的下载代码:
import requests

# 替换成你的自定义图片URL和保存路径
img_url = "你的图片URL"
save_path = "保存的文件名.jpg"

# 发送请求并保存图片
resp = requests.get(img_url)
with open(save_path, 'wb') as f:
    f.write(resp.content)

这种写法不仅代码更清晰,后续如果要加异常处理(比如判断请求是否成功)也更方便。

内容的提问来源于stack exchange,提问作者Rammasun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:22:05