subprocess.check_output()不提供完整的iwconfig输出

时间:2015-10-21 20:11:17

标签: python subprocess iwconfig

我正在尝试制作一个python程序来显示有关WiFi连接的信息,但我遇到了麻烦。 subprocess.check_output()没有按照我需要的方式工作。

>>>import subprocess
>>>test = subprocess.check_output("iwconfig")

为我提供以下内容:     enp9s0没有无线扩展。

virbr0-nic  no wireless extensions.

virbr0    no wireless extensions.

lo        no wireless extensions.

但是当我进入终端并执行相同的命令时,它为我提供了这个:

wlp4s0    IEEE 802.11abgn  ESSID:[Network Name]  
      Mode:Managed  Frequency:5.2 GHz  Access Point: [access point] 
      Bit Rate=81 Mb/s   Tx-Power=14 dBm   
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Power Management:off
      Link Quality=36/70  Signal level=-74 dBm  
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:26   Missed beacon:0

enp9s0    no wireless extensions.

virbr0-nic  no wireless extensions.

virbr0    no wireless extensions.

lo        no wireless extensions.

任何人都可以告诉我如何解决这个问题(我的目标是获取当我使用python运行它时在终端中运行它时获得的所有信息)。我试着查看文档,但我不明白那里说的一切。提前谢谢。

1 个答案:

答案 0 :(得分:2)

部分输出可能会转到stderr。

test = subprocess.check_output("iwconfig", stderr=subprocess.STDOUT)