[英]| Not Working In Subprocess.call
每当我在带有“ |”的子过程中使用命令时 在它不起作用的情况下,它具有命令“ |”的输出 未知,请尝试“链接帮助”。 或当我把这个:
#!/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.
尽管我无法链接两个管道操作,但是您可以使用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
变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.