【发布时间】:2015-10-22 04:18:15
【问题描述】:
我正在尝试制作一个 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 运行它时获取我在终端中运行它时获得的所有信息)。我尝试查看文档,但我不明白那里所说的一切。提前谢谢你。
【问题讨论】:
-
我无法复制你在哪里运行代码?
-
我在 python 3.4 上通过 Fedora 22 工作站上的 KDE Konsole 运行它。
-
在几乎所有地方的 ubuntu 上都可以正常工作,必须特定于 kde。
-
有趣。我想知道为什么。
-
我刚进入 gnome 并在 Konsole 和 Gnome 终端上尝试了两组代码(没有 stderr 的和有 stderr 的),得到的结果与我在 KDE 上得到的结果相同。一定是fedora的东西。
标签: python subprocess iwconfig