标签没有在ubuntu上的python 2.7中显示命令行输出

时间:2017-05-20 07:16:45

标签: python-2.7 shell ubuntu

我希望命令行的结果显示在标签中,现在它没有显示任何内容,如果我使用call而不是check_output则显示为0.

def find():
        take=text.get("1.0", "end-1c")
        info = subprocess.check_output("grep -i '{take}' /var/log/syslog >   logs/uzklausa/$(date +%d_%m_%Y.txt)".format(take=take), shell=True)
        w = Label(root, text = info)
        w.pack(side=BOTTOM)

是因为我对子进程使用了​​错误的命令,还是因为我保存到文件中,因此无法向我显示答案。

1 个答案:

答案 0 :(得分:1)

您的命令将其输出汇总到logs/uzklausa/20_05_2017.txt。因此,当您手动运行时,您想要的数据不会进入屏幕,出于同样的原因,它不会被check_output()返回。打开要传输的文件并从中读取数据,或者不要将命令输出重定向到文件。