Python自定义标准输出fi

2024-09-30 01:34:51 发布

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

我想知道是否可以过滤python脚本的stdout。它用子进程[*]1调用另一个脚本(ksh),并在每次执行某些操作时向控制台写入一条消息。我想补充一下这个消息,它总是以子字符串foo开头。在

我怎么能做到呢?在

谢谢你的时间。在

编辑[*]1stdout它被重定向到subprocess.PIPE

编辑方法的代码和一个免责声明:我知道shell=True是非常不鼓励的,但我不能让它工作否则。此方法调用一个ksh自定义shell,该shell调用另一个名为nexec的命令

def runNexec(self, command='pwd'):
    args=['nsh', '-c', 'nexec ' + self.name +' '+ command,'shell=True']

    p = Popen(args, stdout=PIPE, stderr=PIPE)
    (out, err) = (p.communicate())

    status = p.poll()

    if status != 0:
        return (1,log.log_error(err))
    else:
        return (0,out.splitlines())

Tags: 方法self脚本true消息编辑stdoutargs

热门问题