美文网首页
urllib.request.urlretrieve()函数

urllib.request.urlretrieve()函数

作者: 残剑天下论 | 来源:发表于2019-11-14 09:37 被阅读0次

根据URL下载文件到本地

urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)

实例

def download_and_uncompress_tarball(tarball_url, dataset_dir):
    """
    Downloads the `tarball_url` and uncompresses it locally.
    :param tarball_url: The URL of a tarball file.
    :param dataset_dir: The directory where the temporary files are stored.
    :return:
    """
    filename = tarball_url.split('/')[-1]
    filepath = os.path.join(dataset_dir, filename)

    def _progress(block_num, block_size, total_size):
        sys.stdout.write('\r>>>Downloading %s %.1f%%' % (
            filename, float(block_num * block_size / total_size * 100.0)
        ))
        sys.stdout.flush()

    filepath, _ = request.urlretrieve(tarball_url, filepath, _progress)
    print()
    statinfo = os.stat(filepath)  # 系统调用,返回一些信息
    print('Successfully downloaded', filename, statinfo.st_size, 'bytes.')

# cidar10 数据下载地址 及数据存储文件夹
DATA_URL = 'http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz'
DATA_DIR = 'data'

download_and_uncompress_tarball(DATA_URL, DATA_DIR)
实例结果 image.png

os.stat(path)

用于在给定的路径上执行一个系统 stat 的调用

>>> print(os.stat('data/cifar-10-python.tar.gz'))

os.stat_result(st_mode=33279, st_ino=2224, st_dev=2065, st_nlink=1, st_uid=1000, st_gid=1000, st_size=170498071, st_atime=1573712272, st_mtime=1573712374, st_ctime=1573712374)

提取cifar-10-python.tar.gz

import tarfile
tarfile.open('data/cifar-10-python.tar.gz', 'r:gz').extractall('data')  # 将*.tar.gz以可读('r')的方式打开,然后提取到'data'文件夹中

文件夹内容显示


image.png

相关文章

网友评论

      本文标题:urllib.request.urlretrieve()函数

      本文链接:https://www.haomeiwen.com/subject/kprrictx.html