我为yad程序创建了一个 python接口。代码的基本作用是,它生成一个字符串,该字符串使用 python和/或模块传递给程序并执行它yad
subprocess
pexpect
现在,我面临一个奇怪的错误,我试图显示一个简单的 [multi] 进度条并使用如下所示的某个值更新该条:
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 中不起作用。
请帮我解决这个问题。我无法弄清楚错误在哪里。
编辑 :x
是一个函数,当我们调用yad.Progress()
. 使用x
,我们可以向 yad 写入一些标准输入。代码的 shell 等效项是这样的:
yad --progress --auto-close
> 5
> # 5% done
...