Python并直接访问命令行实用程序ifconfig,iwconfig和iw

时间:2014-07-08 19:57:59

标签: python linux subprocess ifconfig iwconfig

我正在从subprocess.Popen访问ifconfig,iwconfig和iw,如下所示:

p = sp.Popen(["ifconfig",nic],stdin=sp.PIPE,stdout=sp.PIPE,stderr=sp.PIPE)
out,err = p.communicate()

是否有更好的方法,即更快地执行此操作,例如直接与底层代码接口,或者增加的时间延迟可忽略不计 - 使用iw切换频道时,时间成为一个问题。

2 个答案:

答案 0 :(得分:2)

尝试直接从/proc文件系统读取/写入相关文件。

/proc伪文件系统是Linux内核公开大量信息的地方。您可能希望在/proc/net中查看,尤其是/proc/net/dev/proc/net/wireless。请参阅documentation,以及更多information

答案 1 :(得分:0)

所以,最后开始编写自己的代码 - 直接使用netlink和ioctl来处理iw和ifconfig - 分别托管在https://github.com/wraith-wireless/pyrichttps://pypi.python.org/pypi/PyRIC/