yadプログラム用のPythonインターフェイスを作成しました。コードが基本的に行うことは、 pythonsおよび/またはモジュールを使用してプログラムに渡される文字列を生成し、それを実行することですyad
subprocess
pexpect
今、単純な[マルチ]プログレスバーを表示し、次のような特定の値でバーを更新しようとしている奇妙なバグに直面しています:
import yad, time
yad = yad.YAD()
x = yad.Progress(autoclose=True) # yad.MultiProgress(autoclose=True)
for i in range(0,105,5):
print(i)
x(i,msg=str(i)+"% done")
time.sleep(0.5)
問題は、python 2.7 では正常に動作する (バーを更新し、病棟後に閉じる) ことですが、python 3.4 になると動作しません (バーを表示しますが、for
ループが出力されても更新されません)。数)。
私のインターフェースの問題が何であるかを理解しようとしています。関数は、バーを更新するように記述されていますが、何らかの理由で Python 3.4 では機能しません。
この問題で私を助けてください。バグがどこにあるのかわかりません。
Edit :x
を呼び出したときに出力として返される関数ですyad.Progress()
。を使用してx
、いくつかの標準入力を yad に書き込むことができます。コードに相当するシェルは次のようになります。
yad --progress --auto-close
> 5
> # 5% done
...