我怎样才能在Python中做以下的事情:
任何在Ubuntu Hardy中可用的python包都可以。
我认为最好的方法是通过dbus-python 。
本教程稍微介绍一下网络接口:
import dbus bus = dbus.SystemBus() proxy = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager/Devices/eth0') # proxy is a dbus.proxies.ProxyObject
我一直在使用下面的代码,
temp = str(os.system("ifconfig -a | awk '$2~/^Link/{_1=$1;getline;if($2~/^addr/){print _1" "}}'"))
它会给“up”网络接口
如eth0,eth2,wlan0
不,不,不需要打扰os.system()或dbus API。
你真正需要的是使用netlink API来实现这一点。 使用libnl接口(netlink.route.link)或自己处理netlink消息。 看看这个例子 。