|不工作 Subprocess.call
| Not Working In Subprocess.call
每当我在带有“|”的子进程中使用命令时在它不起作用它有一个输出
命令“|”未知,请尝试 "in link help"。
或者当我把这个:
#!/usr/bin/python
from subprocess import call
from shlex import split
interface = call(split("ip -o link show | awk '{print }' | grep wl"))
它给出的输出是:
Error: either "dev" is duplicate, or "awk" is a garbage.
您可以使用 subprocess.check_output
方法和 Popen
class 尽管我无法链接这两个管道操作。部分解决方案:
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 }'), stdin=process.stdout)
return_code = process.wait()
print(output, return_code)
所以基本上,awk 采用 process
标准输出,结果保存在 output
变量中。
每当我在带有“|”的子进程中使用命令时在它不起作用它有一个输出 命令“|”未知,请尝试 "in link help"。 或者当我把这个:
#!/usr/bin/python
from subprocess import call
from shlex import split
interface = call(split("ip -o link show | awk '{print }' | grep wl"))
它给出的输出是:
Error: either "dev" is duplicate, or "awk" is a garbage.
您可以使用 subprocess.check_output
方法和 Popen
class 尽管我无法链接这两个管道操作。部分解决方案:
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 }'), stdin=process.stdout)
return_code = process.wait()
print(output, return_code)
所以基本上,awk 采用 process
标准输出,结果保存在 output
变量中。