Python获取远程文件大小的函数代码分享

yipeiwu_com7年前Python基础
复制代码 代码如下:

def getRemoteFileSize(url, proxy=None):
    """ 通过content-length头获取远程文件大小
        url - 目标文件URL
        proxy - 代理  """
    opener = urllib2.build_opener()
    if proxy:
        if url.lower().startswith('https://'):
            opener.add_handler(urllib2.ProxyHandler({'https' : proxy}))
        else:
            opener.add_handler(urllib2.ProxyHandler({'http' : proxy}))
    try:
        request = urllib2.Request(url)
        request.get_method = lambda: 'HEAD'
        response = opener.open(request)
        response.read()
    except Exception, e: # 远程文件不存在       
        return 0
    else:
        fileSize = dict(response.headers).get('content-length', 0)
        return int(fileSize)

相关文章

深入理解Python中字典的键的使用

字典的键        字典中的值没有任何限制, 可以是任意Python对象,即从标准对象到用户自定义对象皆可,但是字典中的键...

Python多线程threading和multiprocessing模块实例解析

Python多线程threading和multiprocessing模块实例解析

本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。 线程是一个进程的实体,是由表示程序运行状态的寄存器(如程序计数器、栈指...

Python装饰器用法实例分析

本文实例讲述了Python装饰器用法。分享给大家供大家参考,具体如下: 无参数的装饰器 #coding=utf-8 def log(func): def wrapper():...

浅析python 中大括号中括号小括号的区分

python语言最常见的括号有三种,分别是:小括号( )、中括号[ ]和大括号也叫做花括号{ }。其作用也各不相同,分别用来代表不同的python基本内置数据类型。 1.python中的...

Python面向对象程序设计构造函数和析构函数用法分析

本文实例讲述了Python面向对象程序设计构造函数和析构函数用法。分享给大家供大家参考,具体如下: 构造函数和析构函数 1、构造方法的使用 很多类都倾向于将对象创建为有初始化状态.因此类...