python - 在 python 中使用子进程运行管道命令
问题描述
我正在尝试在带有subprocess.Popen
and的管道命令中使用 sed subprocess.PIPE
。它似乎对我不起作用,我不知道为什么。
第一个示例使用tr
很好
from subprocess import Popen, PIPE
p1 = Popen(["echo", "hello"], stdout=PIPE)
p2 = Popen(["tr", "'h'", "'H'"], stdin=p1.stdout, stdout=PIPE)
p2.wait()
但是,如果我尝试使用sed
,我会得到一个退出代码 = 1
from subprocess import Popen, PIPE
p1 = Popen(["echo", "hello"], stdout=PIPE)
p2 = Popen(["sed", "'s/h/H/'"], stdin=p1.stdout, stdout=PIPE)
p2.wait()
解决方案
推荐阅读
- java - 为什么不同的字符串与模式匹配?
- mongodb - 选定查询的猫鼬 $substr 部分
- node.js - npm 删除无关包
- android - 无法单击微调器上文本旁边的空白部分
- .net - 使用一次登录进行多个应用程序身份验证
- python-2.7 - 如何从其他字典创建字典?
- excel - VBA,Excel。执行偏移和调整范围大小然后复制它的代码。“编译错误:无效的监视表达式”
- wordpress - Wordpress:在自定义帖子类型循环之前和之后插入的 HTML 代码
- selenium - 如何在 zalenium 容器中安装 python 依赖项?
- mysql - 在特定条件下引用外键