Qiita のコードハイライトが残念だったので Gist に書きました。
https://gist.github.com/tyochiai/8817420
なんてこたーないサンプルなんですが、「Python ダウンロード 進捗」でググったらなぜか sys.stdout.write()
を使うようなサンプルしか出てこなかったので (たぶんどっかに出処があるんでしょう) 別に print()
でもいいのよーというサンプルです。
urlretrieve()
は引数 reporthook
に関数を渡しておくと 1 ブロックダウンロードする度に 現在のブロック数、ブロックサイズ、総ダウンロードサイズ を引数に渡して呼び出してくれます。
ところで urlretrieve()
なんですが、ドキュメントだとレガシーインターフェースに分類されててそのうちなくなるかもよーとか書いてあります (実際いくつかのメソッドが 3.3 で非推奨になってます)。その時は代替になるメソッドが用意されるんですかね。