ホームページ  >  記事  >  バックエンド開発  >  Python は出力プログラムの実行進捗率を実装します

Python は出力プログラムの実行進捗率を実装します

巴扎黑
巴扎黑オリジナル
2017-09-18 10:18:352096ブラウズ

この記事では、Python の数値演算とシステム出力関連の操作スキルを含む、プログラムの実行の進捗率を出力する Python の方法を主に紹介します。

この記事では、プログラムの実行の進捗率を出力する Python の方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

一部の大規模な Python プログラムでは、プログラムが無限に陥るという誤解を避けるために、よりわかりやすく見せるためにコマンド ラインにパーセンテージを出力する必要があります。ループまたは一時停止アニメーション形式。
重要なのは、改行なしで出力文字 r を使用することです。r の出力はこの行の内容を直接上書きします。

例えば、以下のプログラムは i を 0 から 100,000 まで増やす処理ですが、現在の高性能 CPU でも実行の割合を出力したい場合は、sys パッケージを導入することができます。その後、sys.stdout.write 出力を使用して、元の出力に付属する n が全体的な状況に影響を与えないようにします。同時に、パーセンテージの小数点以下の桁は 4 に制御する必要があります。プログラム実行のパーセンテージは、i の現在の値を合計で割った値であり、その値は 100,000 です。


#-*-coding:utf-8-*-
import sys;
total=100000
for i in range(0,total):
  percent=float(i)*100/float(total)
  sys.stdout.write("%.4f"%percent);
  sys.stdout.write("%\r");
  sys.stdout.flush();
sys.stdout.write("100%!finish!\r");
sys.stdout.flush();

プログラムの実行結果は次のとおりです:

ただし、ここで i がインクリメントされるたびに、現在の実行パーセンテージが必要になり、元の 100,000 回の浮動小数点演算が無駄に 200,000 回に増加します。同時に、画面を 100,000 回更新するのは非常に無理があるため、実行されるパーセンテージは毎回小数点以下 2 桁までしか保持されません。プログラムは次のように変更されます。


#-*-coding:utf-8-*-
import sys;
total=100000
for i in range(0,total):
  if i%100==0:
    percent=float(i)*100/float(total)
    sys.stdout.write("%.2f"%percent);
    sys.stdout.write("%\r");
    sys.stdout.flush();
sys.stdout.write("100%!finish!\r");
sys.stdout.flush();

より、実行率を求めるための 100,000 回の浮動小数点演算が、100,000 回の条件付き演算に変更されます。同時に、画面を 1,000 回更新するだけで済みます。プログラムの実行時間は大幅に短縮されます。

同時に、Eclipse の Pydev のコンソールは r を改行文字として処理し、出力が次のようになることにも注意してください。ここでは方法がありません。

以上がPython は出力プログラムの実行進捗率を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。