12

tqdmプログレス バーは気に入っていますが、ジェンキンスで使用すると、奇妙なアーティファクトが大量に発生し、stdout が肥大化しすぎます (具体的には の偏在[A)。tqdm には、ジェンキンスとうまく連携させるためのシークレット モードがありますか? ジェンキンのような非対話型シェルをシームレスに検出するためのボーナス ポイント。私の典型的な出力は次のようになります。

label: 0it [00:00, ?it/s][A
[A
 16%|#6        | 5378/33302 [36:28<2:30:49,  3.09it/s]
[A
 16%|#6        | 5379/33302 [36:29<2:36:46,  2.97it/s]
[A
...
4

1 に答える 1

3

私は次のようなもので行きます:

from tqdm import tqdm
import os

# try this
for i in tqdm(..., disable=None):
    ...

# alternative if the above doesn't work
for i in tqdm(..., disable=os.environ.get("JENKINS_HOME")):
    ...

# or even...
for i in tqdm(..., disable=os.environ.get("JENKINS_HOME") is not None):
    ...

disable=Noneなどを自動的にチェックする必要があることに注意してくださいsys.stdout.isatty()

残念ながら、Jenkinsが の基本的な要件であるCR( )をサポートしていないことに対してできることは何もありません。\rtqdm

https://tqdm.github.io/から:

tqdmcursesPython と、キャリッジ リターン\rとライン フィードの\n制御文字をサポートする環境だけが必要です。

于 2019-01-25T23:02:34.070 に答える