我知道如何使用cmd = subprocess.Popen和subprocess.communicate运行命令。大多数情况下,我将使用shlex.split标记的字符串用作Popen的'argv'参数。“ ls -l”的示例:
import subprocess
import shlex
print subprocess.Popen(shlex.split(r'ls -l'), stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE).communicate()[0]
但是,管道似乎不起作用...例如,以下示例返回注释:
import subprocess
import shlex
print subprocess.Popen(shlex.split(r'ls -l | sed "s/a/b/g"'), stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE).communicate()[0]
你能告诉我我做错了吗?
谢谢
LEATH
长风秋雁
米琪卡哇伊
相关分类