我不知道应该怎么问这个问题。如果我犯了任何错误,如果有人能纠正错误,我将不胜感激。
我在Ubuntu上用python编写程序。在那个程序中,我很难从连接到网络的IP地址(RaspberryPi)获取远程机器的Mac地址。
但在实际操作中,它给了我一个错误:
Traceback (most recent call last):
File "Get_MacAddress_from_ip.py", line 9, in <module>
mac = re.search(r"([a-fA-F0-9]{2}[:|\-]?){6}", s).groups()[0]
AttributeError: 'NoneType' object has no attribute 'groups'
有人可以指导我如何删除此错误?我的编码如下:
from Tkinter import *
from subprocess import Popen, PIPE
ip = "192.168.2.34"
username = "pi"
remote_MAC="b8:27:eb:d2:84:ef"
pid = Popen(["arp", "-n", ip], stdout=PIPE)
s = pid.communicate()[0]
mac = re.search(r"([a-fA-F0-9]{2}[:|\-]?){6}", s).groups()[0]
mac = re.search(r"(([a-f\d]{1,2}\:){5}[a-f\d]{1,2})", s).groups()[0]
print mac
答案 0 :(得分:1)
re.search将返回None。尝试分配结果并检查它是否为None:
search = re.search(r"([a-fA-F0-9]{2}[:|\-]?){6}", s)
mac = None
if search:
mac = search.groups()[0]
# You can also do:
#mac = search.group(0)
print mac
答案 1 :(得分:1)
您可以查看此链接,该链接与您的程序非常相似