【问题标题】:Capturing output from buffered StdOut program从缓冲的 StdOut 程序捕获输出
【发布时间】:2010-10-11 01:28:09
【问题描述】:

我正在尝试使用 Qt 和 Python 捕获 Windows 程序的输出。

我正在使用 QProcess 启动该过程,但问题是输出正在被缓冲。不幸的是,我无法访问源代码,因此无法刷新输出。

通过搜索,我找到了“Expect”程序,但我不知道是否有免费的 Windows 版本。

不过,纯粹在 python 中做这件事会很好。

【问题讨论】:

    标签: python pyqt stdout


    【解决方案1】:

    请看QShared Memory http://doc.trolltech.com/main-snapshot/ipc-sharedmemory.html ...您要实现的是进程间通信,QShared 内存在Linux 和Windows 上都可以正常工作。

    【讨论】:

    • 谢谢。您能否详细说明我将如何使用 QSharedMemory 来实现这一点?我不确定如何让 QProcess 将任何内容放入共享内存中。
    • 我建议您花一些时间研究现有的 QShared Memory 示例,以了解它的工作原理。如果您没有 IPC 的背景,我建议您先阅读,然后再阅读共享内存。然后就很容易掌握sn-p代码了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多