机器学习_利用python从网上自动下载数据

机器学习一个必要的前提条件就是获得大量数据,尤其对于我们刚开始接触机器学习的时候,网上提供了大量开源数据源,方便我们进行学习,但是这些数据源会随着时间变换,因此萌生一个自动下载数据的方法,刚好网上也有很多的方法,结合别的博客主的方法和自己的理解写了一个利用python自动获取数据的函数。


相关的库文件:os、tarfile、urllib

import os
import tarfile
import urllib
from urllib.request import urlretrieve
def download(url,savepath):
    """
    :param url: 下载路径
    :param savepath:保存路径
    :return:
    """
    filename=os.path.basename(url)
    filepath=os.path.join(savefile,filename)
    if not os.path.isdir(savefile):
        #如果不存在我们设置的保存文件夹,则自动生成一个
        os.makedirs(savefile)
        
        #下载文件
        urlretrieve(url,filepath)
        
        #打开我们的文件
        downfile=tarfile.open(filepath)
        
        #解压我们的文件
        downfile.extractall(savefile)
        
        #关闭读写操作
        downfile.close()
        print("download finished")
    else:
        print("file has existed")
if __name__ == '__main__':
    url="https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.tgz"
    savefile="./chapter1/data"

 

当然也可以定义一个reporthook函数,能够方便的显示下载进度,这里用不到,所以没有写出来

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值