我在 python 中使用控制台命令,但是,它没有输出我想要的值。
路径是:
#ifconfig -a | grep "HWaddr"
从这个命令我得到:
eth0 Link encap:Ethernet HWaddr 30:9E:D5:C7:1z:EF
eth1 Link encap:Ethernet HWaddr 30:0E:95:97:0A:F0
我需要使用控制台命令来检索该值,所以这是我目前的代码:
def getmac():
mac=subprocess.check_output('ifconfig -a | grep "HWaddr"')
print "%s" %(mac)
我基本上只想检索 30:0E:D5:C7:1A:F0 的硬件地址。我上面的代码没有检索到它。我的问题是如何使用控制台命令来获取我想要的值。
提前致谢。
最佳答案
在 Linux 中获取 MAC 地址的最可靠和最简单的方法是从 sysfs
获取它,安装在 /sys
上。
对于接口(interface) etho
,位置将是 /sys/class/net/eth0/address
;同样对于 eth1
,它将是 /sys/class/net/eth1/address
。
% cat /sys/class/net/eth0/address
74:d4:35:XX:XX:XX
因此,您也可以在 python
中读取文件:
with open('/sys/class/net/eth0/address') as f:
mac_eth0 = f.read().rstrip()
关于python - 在 python 中使用控制台命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37692935/