知人のpython:ファイルのダウンロードの進行状況

(フォローアップを更新します...)

urlretrieve要求を使用して、「コールバック」方式を作成します:進捗状況をダウンロード

次のように詳細なコードは次のとおりです。

!/ユーザー/ビンENV Pythonの
#1 著者:シンプル・サー時間:2019年8月8日21時00分
#のダウンロードの進捗状況
から urllibはのインポート要求
 のインポート時間

DEF :downPercent(blocknum、ブロック・サイズtotalSize)
     '' ' 
    コールバック関数、進捗ダウンロード
    PARAM blockNum:ダウンロードしたデータ・ブロックを
    :PARAMのblockSize:データ・ブロック・サイズ
    :PARAM totalSize:合計ファイルサイズをダウンロードする
    '' ' 
    撃墜 = blocknum *のblockSize / 1024   ダウンロードサイズキロバイト 
    totalSize = totalSize / 1024   総サイズkBの 
    P-ラウンド=(ダウン/ totalSize * 100,2)  ダウンロードした割合
    = totalSize-ダウンdownWaitの   #をダウンロードするサイズkBの
    IF P> 100 
        P = 100
     IF downWait < 0:
        downWait = 0 
    nowtime = time.strftime(' %Y-M-%のDの%% H:%M:%のS ' 、time.localtime(time.time()))
     プリント' {}総ファイルサイズ:{} ' .format(nowtime、totalSize))
     プリント' ダウンロードを{}:{}(\ 033 [36万回{ 033 [0メートル)\%} ' .format(nowtime、ダウン、P))
     プリント' 033 \ {}([31であり; 1Mの%} {033 [0メートル\):ダウンロードします{} '.format(nowtime、downWait、ラウンド(100-P、2 )))

DEFのダウンロード():
    URL = ' https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.27.0。 MSI '   MySQLデータベースダウンロードし 
    たstartTime = time.time()
    request.urlretrieve(URL、' MySQLの-インストーラコミュニティコミュニティ5.7.27.0.msi 'downPercent) 
    endTimeは = time.time()
     印刷' ファイルのダウンロードを完了しています!合計時間: 'time.strftime( ' %のM:%S '、time.localtime(endTime- のstartTime)))IF __name__ ==

 ' __main__ ' 
    ダウンロード()
ダウンロードの進捗状況

実装プロセス:

 

おすすめ

転載: www.cnblogs.com/simple-li/p/11324455.html
おすすめ