[496]urllib.request.urlretrieve()函数
发布日期:2021-05-16 09:28:44 浏览次数:17 分类:精选文章

本文共 699 字,大约阅读时间需要 2 分钟。

此函数用于将指定URL指向的远程资源复制至本地文件。若URL指向本地文件,则仅当指定文件名时才会复制。该函数返回包含两个元素的元组:本地文件名及服务器响应头信息。

函数说明

  • name: 数据块大小单位为字节。
  • reporthook: 下载进度回调函数,可提供实时下载进度反馈。

使用方法

import urllib.requestimport osdata_url = 'https://example.com/file.tar.gz'local_filename = 'file.tar.gz'def progress_callback(block_num, block_size, total_size):    """进度更新回调函数"""    os.stdout.write(f"正在下载 {local_filename} 工作进度:{int(block_num * block_size / total_size * 100)}% \r")    os.stdout.flush()local_filename, headers = urllib.request.urlretrieve(data_url, local_filename, progress_callback)

示例输出

正在下载 Python-2.7.5.tar.bz2 工作进度:100.0%

注意事项

  • filename 为必选参数,可指定本地存储路径。
  • 在多线程环境下,与 sys.stdout.flush() 结合使用以确保输出实时可见。

这个函数在网络请求中非常有用,尤其是在需要下载大量数据或追踪下载进度时。

上一篇:[497]python使用magic模块进行文件类型识别
下一篇:[495]python上传下载OSS文件

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年05月11日 00时29分58秒