- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个 python interface对于 yad程序。该代码的基本作用是,它生成一个字符串,该字符串使用 python 的 subprocess
和/或 pexpect
模块传递给 yad
程序并执行它
现在,我面临一个奇怪的错误,我试图显示一个简单的[多]进度条并使用特定值更新进度条,如下所示:
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
...
最佳答案
重新发布作为答案:
在包装器模块内,写入子进程的 stdin 后调用 p.stdin.flush()
。
在 Python 2 中,默认情况下创建没有任何缓冲的 Popen 管道(subprocess.Popen
的 bufsize
参数默认为 0)。这意味着您写入的任何数据都会立即发送到子进程。在Python 3中,缓冲是默认的(bufsize默认为-1,这意味着默认的缓冲区大小)。因此,出于性能原因,数据将存储在内存中,直到缓冲区填满或调用刷新为止。
关于Python-yad 进度条在 python 3.4 中不起作用,但在 python 2.7 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389530/
我正在 BASH 中使用 YAD 对话框,但在按钮构造方面遇到了问题。我无法使用 YAD 按钮来调用同一脚本中的函数。有办法做到这一点吗? 我的理解是,如果我使用以下结构,按下按钮将调用冒号后面的命令
我正在 BASH 中使用 YAD 对话框,但在按钮构造方面遇到了问题。我无法使用 YAD 按钮来调用同一脚本中的函数。有办法做到这一点吗? 我的理解是,如果我使用以下结构,按下按钮将调用冒号后面的命令
我想创建一个 GUI 窗口,并从该界面选择文件路径并设置参数,然后运行整个 shell 脚本。 我的解决方案是: files=$(zenity --file-selection --multiple
我找不到在 YAD 中使用变量的方法 我有以下脚本: #!/bin/bash USERS=$(awk '{print $1}' `pwd`/names.txt | sed -e ':a' -e
有人擅长yad吗? 所以基本上这个 BASH 脚本工作正常,Debian 启动到一个最小的 Matchbox WM 环境,并且这个脚本是自动运行的,它显示一个漂亮的图形提示,允许输入 AD 用户名和密
所以我正在编写一个小的 bash 脚本来自动执行一些任务...我在这里偶然发现了一个问题..我的问题是 val=$ ( yad --center --width=300 --height=100
我正在尝试将多个脚本通过管道传输到 YAD 多进度条中,但仍会获取子进程的退出状态。这是我到目前为止所拥有的.. 这将是我的主要脚本: (./Script1.sh & X=$!) & (./Scrip
我正在尝试使用 zenity/yad 为 wget 下载过程提供某种 GUI。我想出了这个: wget http://example.com/ 2>&1 | \ sed -u 's/^[a-zA-Z\
我在 Raspberry Pi 3 上使用 yad for GTK3(不是 GTK2)来显示一组按钮。屏幕离我坐的地方很远,所以我需要一种方法来使按钮文本和突出显示的按钮脱颖而出。我完全不熟悉 GTK
我创建了一个 python interface对于 yad程序。该代码的基本作用是,它生成一个字符串,该字符串使用 python 的 subprocess 和/或 pexpect 模块传递给 yad
我是一名优秀的程序员,十分优秀!