我正在尝试制作一个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运行它时在终端中运行它时获得的所有信息)。我试着查看文档,但我不明白那里说的一切。提前谢谢。
答案 0 :(得分:2)
部分输出可能会转到stderr。
test = subprocess.check_output("iwconfig", stderr=subprocess.STDOUT)