機器學習_利用python從網上自動下載資料
阿新 • • 發佈:2018-12-16
機器學習一個必要的前提條件就是獲得大量資料,尤其對於我們剛開始接觸機器學習的時候,網上提供了大量開源資料來源,方便我們進行學習,但是這些資料來源會隨著時間變換,因此萌生一個自動下載資料的方法,剛好網上也有很多的方法,結合別的部落格主的方法和自己的理解寫了一個利用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函式,能夠方便的顯示下載進度,這裡用不到,所以沒有寫出來