gpt4 book ai didi

Python wx(Python Card)将子进程输出记录到窗口

转载 作者:行者123 更新时间:2023-12-01 06:19:36 25 4
gpt4 key购买 nike

similar questions对于这个问题,但我希望看到一个明确的答案。我正在使用 PythonCard 构建一个简单的 GUI 来包装命令行进程。具体来说,它是一系列 ANT 任务和其他自定义操作的包装器,因此非开发人员也可以使用它。

我想将子进程的输出重定向到窗口中的 TextArea。看起来执行此操作的方法是使用 subprocess.Popen(command, stdout=subprocess.PIPE) 并将输出加载到变量中。

问题是如何使用子进程的输出实时更新窗口?欢迎任何提示

谢谢

最佳答案

几乎每个您可以包装的子进程都会缓冲其输出,除非您设法欺骗它相信它实际上已连接到终端 - 而子进程无法做到这一点。相反,请查看 pexpect (在每个允许您拥有伪终端的平台上运行良好,即除 Microsoft Windows 之外的每个平台;在 Windows 上您可以尝试 wexpect 但我对后者没有经验)。

这些模块在生成子流程的输出后立即为您提供子流程的输出,并努力欺骗模块尽快生成该输出且无需缓冲,因此它们应该使您可以轻松地实时接收该输出并将其附加到您想要持续更新的文本字段。

关于Python wx(Python Card)将子进程输出记录到窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com