AttributeError:' NoneType'对象没有属性' groups'

时间:2015-02-16 19:59:23

标签: python ubuntu ip attributeerror arp

我不知道应该怎么问这个问题。如果我犯了任何错误,如果有人能纠正错误,我将不胜感激。

我在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

2 个答案:

答案 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)

您可以查看此链接,该链接与您的程序非常相似

MAC Address from IP across network