4

パッケージの使用方法を説明しているドキュメントを見つけることができますtqdmが、データをオンラインでダウンロードするときに進行状況メーターを生成する方法がわかりません。

以下は、データをダウンロードするために ResidentMario からコピーしたサンプル コードです。

def download_file(url, filename):
    """
    Helper method handling downloading large files from `url` to `filename`. Returns a pointer to `filename`.
    """
    r = requests.get(url, stream=True)
    with open(filename, 'wb') as f:
        for chunk in r.iter_content(chunk_size=1024): 
            if chunk: # filter out keep-alive new chunks
                f.write(chunk)
    return filename


dat = download_file("https://data.cityofnewyork.us/api/views/h9gi-nx95/rows.csv?accessType=DOWNLOAD",
                    "NYPD Motor Vehicle Collisions.csv")

ここで tqdm パッケージを使用してダウンロードの進行状況を表示する方法を教えてもらえますか?

ありがとう

4

3 に答える 3

7

今のところ、私はそのようなことをしています:

def download_file(url, filename):
    """
    Helper method handling downloading large files from `url` to `filename`. Returns a pointer to `filename`.
    """
    chunkSize = 1024
    r = requests.get(url, stream=True)
    with open(filename, 'wb') as f:
        pbar = tqdm( unit="B", total=int( r.headers['Content-Length'] ) )
        for chunk in r.iter_content(chunk_size=chunkSize): 
            if chunk: # filter out keep-alive new chunks
                pbar.update (len(chunk))
                f.write(chunk)
    return filename
于 2017-02-06T15:28:26.107 に答える