def download_file(url, filename):
"""将链接中的数据存储入文件中。
Args:
url: 链接。
filename: 文件路径名。
Raises:
KeyboardInterrupt: 用户按^C引发异常。
Exception: 发生异常。
"""
if os.path.exists(filename):
print('file '+filename+' exists!')
return filename
try:
time.sleep(random.randint(1,7))
r = requests.get(url, stream=True, timeout=60,headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'})
r.raise_for_status()
with open(filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
f.flush()
print('downloading '+filename+' successfully!')
return filename
except KeyboardInterrupt:
if os.path.exists(filename):
os.remove(filename)
raise KeyboardInterrupt
except Exception:
traceback.print_exc()
if os.path.exists(filename):
os.remove(filename)
如果曾经下载成功或刚才下载成功文件,返回文件名,若现在下载失败返回None,可根据download_file的返回值是否为None,判定失败次数
创建于2412251740,修改于2412251740
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现