pythondialog是一个模块,可让您在类似 ncurses 的界面中打印信息。我想使用该Dialog.progressbox()方法打印subprocess.Popen()命令的输出。
我面临的问题是progressbox()只会打印/tmp/TemporaryDialogFile. 它不会打印写入此文件的新内容。
我想知道如何才能从 .progressbox()持续显示不断增长的输出流youtube-dl。这应该是可能的:文档是这样说的。
相关代码:
def openDialog():
d = Dialog(dialog="dialog")
d.set_background_title("Random title")
w = os.open("/tmp/TemporaryDialogFile", os.O_RDWR|os.O_CREAT)
os.chdir("/tmp")
p = subprocess.Popen(["youtube-dl", "-citw", channel_url], stdout=w, universal_newlines=True)
d.progressbox(file_path="/tmp/TemporaryDialogFile", text="youtube-dl output:")
这就是它应该的样子