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

yipeiwu_com6年前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实现汉诺塔算法

题目: 汉诺塔给出最优解,如果对汉诺塔的定义有不了解,请翻看数据结构教材。 除了最基本的之外,还有一题,给定一个数组,arr=[2,3,1,2,3],其含义是这是一个有5个圆盘的汉诺塔...

实践Vim配置python开发环境

这段时间一直在用Python自带的IDLE编辑器、可是这IDLE的代码缩进真的让人很受伤、当你用到if:elif:的时候、后一行的elif:不会自动对齐、这让我经常出现在调试的时候才发现...

Python调用命令行进度条的方法

本文实例讲述了Python调用命令行进度条的方法。分享给大家供大家参考。具体分析如下: 关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖。 im...

PyCharm2018 安装及破解方法实现步骤

PyCharm2018 安装及破解方法实现步骤

PyCharm就是Python语言开发中一个很受欢迎的IDE,界面类似于visual studio,android studio,集成的功能也很多。 1>. 安装 首先要...

python3+django2开发一个简单的人员管理系统过程详解

python3+django2开发一个简单的人员管理系统过程详解

一、基础环境准备 windows环境: Pycharm python3.6 Django2.0.1 Mysql5.7 安装django 在pycharm termin...