每当我在子进程中使用" |"在它没有工作它有一个输出 命令" |"未知,请在链接帮助"中尝试#34; 或者当我说出来时:
#!/usr/bin/python
from subprocess import call
from shlex import split
interface = call(split("ip -o link show | awk '{print $2}' | grep wl"))
它输出:
Error: either "dev" is duplicate, or "awk" is a garbage.
答案 0 :(得分:0)
虽然我无法将两个管道操作链接起来,但您可以使用subprocess.check_output
方法和Popen
类。部分解决方案:
from subprocess import check_output, Popen, PIPE
from shlex import split
process = Popen(split('ip -o link show'), stdout=PIPE)
output = check_output(('awk', '{print $2}'), stdin=process.stdout)
return_code = process.wait()
print(output, return_code)
基本上,awk采用process
标准输出,结果保存在output
变量中。