subprocess.check_output() не обеспечивает полный вывод 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 ответ

Решение

Часть вывода может идти в stderr.

test = subprocess.check_output("iwconfig", stderr=subprocess.STDOUT)
Другие вопросы по тегам