Python 3.4.3 subprocess.Popen获取命令输出而不管道?
发布时间:2020-12-13 19:16:19 所属栏目:Linux 来源:网络整理
导读:我试图将命令的输出分配给变量,而不会让命令认为它正在被管道传输.这样做的原因是,如果正在通过管道传输,有问题的命令会将未格式化的文本作为输出,但如果从终端运行,则会给出颜色格式化的文本.我需要得到这种颜色格式的文本. 到目前为止,我已经尝试了一些事
我试图将命令的输出分配给变量,而不会让命令认为它正在被管道传输.这样做的原因是,如果正在通过管道传输,有问题的命令会将未格式化的文本作为输出,但如果从终端运行,则会给出颜色格式化的文本.我需要得到这种颜色格式的文本. 到目前为止,我已经尝试了一些事情.我这样试过Popen:
这将让我打印输出,但它给我输出管道命令时得到的无格式输出.这是有道理的,因为我在Python代码中管它.但我很好奇是否有办法将此命令的输出直接分配给变量,而没有运行自身管道版本的命令. 我还尝试了以下依赖于check_output的版本:
而且,当命令通过管道输出时,我得到了与命令返回的相同的无格式输出. 有没有办法获得格式化输出,命令通常从终端提供的输出,当它没有被管道? 最佳答案
使用pexpect:
2.py:
子:
Pexpect的:
这里是grep –colour = auto:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |