python3获取url文件大小示例代码

yizhihongxing

如何用Python3获取URL文件大小?下面是一些示例代码和技巧帮助您获得准确的文件大小。

示例代码

1. 使用urllib库

import urllib.request

def get_file_size(url):
    headers = urllib.request.urlopen(url).headers
    if "Content-Length" in headers:
        return int(headers["Content-Length"])
    else:
        raise Exception("Can't determine file size.")

这段代码首先使用urllib.request打开URL,并访问响应的headers,这是一个Python字典。如果"Content-Length"存在于headers中,则说明服务器返回了文件大小,该值存储在Content-Length字段中并以字节为单位。 如果"Content-Length"不存在,则抛出异常。

2. 使用requests库

import requests

def get_file_size(url):
    resp = requests.head(url, allow_redirects=True)
    headers = resp.headers
    if "Content-Length" in headers:
        return int(headers["Content-Length"])
    else:
        raise Exception("Can't determine file size.")

这段代码使用requests库的head方法。它将发送HTTP HEAD请求并返回响应的headers。如果"Content-Length"存在于headers中,则说明服务器返回了文件大小,该值存储在Content-Length字段中并以字节为单位。 如果"Content-Length"不存在,则抛出异常。

总结

获取URL文件大小的代码很简单,你可以使用Python的urllib或requests库。 如果HTTP响应中包含Content-Length头,则可以使用该文件大小,否则代码将抛出异常。如果一直无法获取文件大小,则可能需要进一步跟踪与上述headers相关的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3获取url文件大小示例代码 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • python request要求接口参数必须是json数据的处理方式

    Python Requests要求接口参数必须是JSON数据的处理方式 在使用Python的Requests库发送HTTP请求时,有些接口要求参数必须是JSON数据格式。本文将介绍如何处理这种情况,并提供两个示例。 解决方法 解决这种情况的方法通常有以下两种: 使用json参数 我们可以使用Requests库的json参数来指定请求参数的JSON数据。以下是…

    python 2023年5月15日
    00
  • Python中使用subprocess库创建附加进程

    下面是Python中使用subprocess库创建附加进程的完整攻略。 什么是subprocess库 subprocess是Python标准库中的一个模块,用于创建新进程并与其进行交互。它提供了更好的处理标准输入、输出和错误流的功能,可以在子进程的上下文中执行外部命令。 如何使用subprocess库创建附加进程 使用subprocess库创建附加进程的步骤…

    python 2023年6月2日
    00
  • 用python对excel查重

    以下是详细的实例教程。 准备工作 首先我们需要安装 pandas 和 xlrd 库,可以使用 pip 命令进行安装: pip install pandas xlrd 安装完成后,我们需要准备一个示例的 excel 文件,例如文件名为 example.xlsx,里面包含姓名和电话两列数据。 读取 Excel 文件 首先我们需要使用 pandas 库读取 exc…

    python 2023年5月13日
    00
  • Python tinydb – 如何获取特定元素名称?

    【问题标题】:Python tinydb – How to get specific element name?Python tinydb – 如何获取特定元素名称? 【发布时间】:2023-04-07 05:11:01 【问题描述】: 这是我的结构的样子: {‘MovieName’: ‘Its-a-Wonderful-Life’, ‘Description…

    Python开发 2023年4月8日
    00
  • Zend Framework 2.0事件管理器(The EventManager)入门教程

    Zend Framework 2.0事件管理器入门教程 什么是Zend Framework的事件管理器? Zend Framework的事件管理器提供了一种松耦合架构的方式,它通过一个可扩展的事件机制,让系统中的各个组件/模块之间更方便的互相通信和协作,使得系统更具伸缩性和可拓展性。通过Zend Framework的事件管理器,你可以把代码组织好,使得不同的…

    python 2023年6月13日
    00
  • Python实现包含min函数的栈

    以下是“Python实现包含min函数的栈”的完整攻略: 一、问题描述 设计一个支持push、pop、top和min操作的栈。其中,min操作返回栈中最小的元素。要求所有操作的时间复杂度都为O(1)。 二、解决方案 2.1 栈的基本操作 栈是一种后进先出(LIFO)的数据结构,支持以下基本操作: push(x):将元素x压入栈中。 pop():弹出栈顶元素。…

    python 2023年5月14日
    00
  • Python中转换角度为弧度的radians()方法

    Python的math模块提供了一些用于数学计算的方法和常数,其中就包括了转换角度为弧度的方法radians()。 方法介绍 该方法的作用是将度数转换为弧度,其函数原型为: math.radians(x) 其中,x是待转换的度数。 方法示例 示例1:将30度转换为弧度 import math degrees = 30 radians = math.radia…

    python 2023年6月3日
    00
  • Python中Async语法协程的实现

    Python中Async语法协程的实现 在Python中,Async语法协程是一种常用的异步编程技术,可以有效地提高程序的性能和响应速度。本文将为您详细讲解Python中Async语法协程的实现,包括协程的概念、协程的实现原理、协程的使用方法等。过程中提供两个示例。 协程的概念 协程是一种轻量级的线程,可以在单个线程中实现并发执行。协程可以在执行过程中暂停,…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部