首页 > 编程语言 >从互联网上下载文件python代码

从互联网上下载文件python代码

时间:2024-12-25 17:41:11浏览次数:4  
标签:exists python 代码 filename print import os chunk 下载

import requests
import traceback
import os

def download_file(url, filename):
    """将链接中的数据存储入文件中。

    Args:
        url: 链接。
        filename: 文件路径名。
    Raises:
        KeyboardInterrupt: 用户按^C引发异常。
        Exception: 发生异常。
    """
    if os.path.exists(filename):
        print('file '+filename+' exists!')
        return
    try:
        r = requests.get(url, stream=True, timeout=60)
        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)

创建于2412251740,修改于2412251740

标签:exists,python,代码,filename,print,import,os,chunk,下载
From: https://www.cnblogs.com/tellw/p/18631083

相关文章

  • AI 代码生成:原理、应用、局限与未来趋势全解析
    一、AI写代码的原理基于深度学习的代码生成:深度学习模型(如GPT系列)通过大规模代码数据集训练,将代码视为一种序列数据。在训练过程中,它们会学习代码中的各种模式和规律,包括但不限于编程语言的语法规则、不同代码结构的组合方式、代码块之间的依赖关系以及各种函数和库的使用......
  • 深度解读:20 款常见 AI 代码生成工具,从功能特性到优劣势,全面掌握编程得力助手
    GitHubCopilot:由GitHub和OpenAI合作开发,基于GPT架构。集成到多种开发环境中,如VisualStudioCode、JetBrainsIDE等。根据用户输入的注释或部分代码自动生成代码补全建议,适用于多种编程语言,如Python、JavaScript、Java等。优点:可以快速生成大量常用代码片段,例......
  • python tqdm 进度条尝试
    起因上期博客(https://www.cnblogs.com/timmoc/p/18630509)不是研究着发现没有进度条还是太不直观了吗那今天来整个进度条。好的本篇随笔到此结束不是这也太水了吧,试着按到上篇博客里面?只需要修改worker的代码就好了。不是不是,等等,我说停停。合着这个进度条是每次打印......
  • Java 动态编译技术在低代码平台中的应用:开启高效开发新范式
        在当今数字化转型的浪潮中,低代码平台以其能够快速构建应用程序的特性,受到了众多企业的青睐。而Java动态编译技术的融入,更是为低代码平台增添了强大的灵活性与扩展性,使其能够应对更为复杂多样的业务需求。一、低代码平台的发展现状与挑战低代码平台通过提供可视......
  • Python面试手册:基础知识点合集与背记指南
    主要内容概要第1章走进PythonPython是一种高级编程语言,以其简洁明了的语法和强大的功能而闻名。本章将深入探讨Python的基本概念,包括其设计哲学、特点以及与其他编程语言的区别。我们将回顾Python的历史背景,了解其创始人GuidovanRossum如何创造这门语言,并探讨它如何迅......
  • 『玩转Streamlit』--上传下载文件
    在Web应用中,文件的上传下载是交互中不可缺少的功能。因为在业务功能中,一般不会只有文字的交互,资料或图片的获取和分发是很常见的需求。比如,文件上传可让用户向服务器提交数据,如上传图片分享生活、提交文档用于工作协作等,丰富应用功能。而文件下载则使用户能获取服务器端的资源,......
  • 冒泡排序全攻略:概念、原理、复杂度与代码详解
    一、冒泡排序的基本概念冒泡排序(BubbleSort)是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢......
  • 详解选择排序:从概念到代码的完整指南
    一、选择排序的基本概念选择排序(SelectionSort)是一种简单的排序算法。它的基本思想是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。二、选择排序的过程......
  • 【华为OD-E卷-最小调整顺序次数、特异性双端队列 100分(python、java、c++、js、c)】
    【华为OD-E卷-最小调整顺序次数、特异性双端队列100分(python、java、c++、js、c)】题目有一个特异性的双端队列,该队列可以从头部或尾部添加数据,但是只能从头部移出数据。小A依次执行2n个指令往队列中添加数据和移出数据。其中n个指令是添加数据(可能从头部添加、也可能从......
  • 【华为OD-E卷-取出尽量少的球 100分(python、java、c++、js、c)】
    【华为OD-E卷-取出尽量少的球200分(python、java、c++、js、c)】题目某部门开展FamilyDay开放日活动,其中有个从桶里取球的游戏,游戏规则如下:有N个容量一样的小桶等距排开,且每个小桶都默认装了数量不等的小球,每个小桶装的小球数量记录在数组bucketBallNums中,游戏开......