运行包含管道的命令行并将结果显示到STDOUT

运行包含管道的命令行并将结果显示到STDOUT,第1张

运行包含管道的命令行并将结果显示到STDOUT

使用subprocess.PIPE,如子流程文档部分“替换外壳管道”中所述:

import subprocessp1 = subprocess.Popen(["cat", "file.log"], stdout=subprocess.PIPE)p2 = subprocess.Popen(["tail", "-1"], stdin=p1.stdout, stdout=subprocess.PIPE)p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.output,err = p2.communicate()

或者,使用

sh
模块,管道成为功能的组合:

import shoutput = sh.tail(sh.cat('file.log'), '-1')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存