【问题标题】:subprocess.check_output() not providing full iwconfig outputsubprocess.check_output() 没有提供完整的 iwconfig 输出
【发布时间】: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


【解决方案1】:

一些输出可能会进入标准错误。

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

【讨论】:

  • 谢谢!像魅力一样工作!
猜你喜欢
  • 1970-01-01
  • 2019-07-20
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 2013-06-13
  • 1970-01-01
相关资源
最近更新 更多