簡體   English   中英

| 在Subprocess.call中不起作用

[英]| 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM