使用wxpython将终端输出传递到GUI

2024-09-29 19:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我在linux环境中使用python2.7和guiwxpython。我想将输出从终端重定向到消息框,它将如何发生? 我的代码是:

 p = subprocess.call(" grep "Wanted" .filename | awk '{print $2}' | cut -c11-20", shell=True)

这将在终端中提供适当的输出,但当我在消息框中调用它时,它显示“0”。在

^{pr2}$

如何打印终端上显示的内容,我是python世界的新手,对python的知识比较少。寻找答案,但找不到答案回答。所以来这里寻求解决方案和指导。 提前谢谢


Tags: 答案代码终端消息环境linuxcallfilename
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:37

可能更喜欢/更简单地使用Popen(但我很少使用subprocess.call所以我不知道)。但从我看来,您的示例应该可以正常工作(使用Ashwini Chaudhary中提到的修复)。在

import subprocess
import wx

def main():
    p = subprocess.Popen(['ls', '-a'], stdout = subprocess.PIPE)
    text = p.stdout.readlines()
    text = "".join(text)

    wx.MessageBox("file names:\n%s" % text, "info")

if __name__ == '__main__':
    app = wx.PySimpleApp()
    main()

总之:有任何理由涉及Bash,python不能这样做吗?在

相关问题 更多 >

    热门问题