在Python代码中检查数据库中的有效Mac地址

时间:2015-07-14 06:27:25

标签: python

我想在我的python脚本运行之前添加Mac地址(验证)检查。我在网上有一个数据库。所以在脚本中我想在运行脚本之前添加这个mac地址检查。

我的脚本现在有这个

从我的Web服务器下载文件

所以我的剧本在

之后想要这样

从我的Android设备获取Mac地址。然后检查Mac地址是否有效使用预定义列表(db文件)

如果有效则

从我的网络服务器下载文件

1 个答案:

答案 0 :(得分:3)

这个简单的python程序将帮助您找到有效的mac地址

import re

def checkMAC(x):
      if re.match("[0-9a-f]{2}([-:])[0-9a-f]{2}(\\1[0-9a-f]{2}){4}$", x.lower()):
            return 1
    else:
            return 0

print checkMAC("AA:BB:CC:DD:EE:FF")
print checkMAC("00-11-22-33-44-66")
print checkMAC("1 2 3 4 5 6 7 8 9 a b c")
print checkMAC("This is not a mac")

它接受12个十六进制数字,或者: - 作为对之间的分隔符(但是分隔符必须是统一的......要么所有分隔符都是:或者全部 - )。

这是解释:

[0-9a-f]表示十六进制数字

{2}意味着我们想要其中两个

[ - :]表示破折号或冒号。请注意,短划线作为第一个字符不是指范围,而仅表示其自身。这个原子用括号括起来,以便以后可以作为后引用重用。

[0-9a-f] {2}是另一对十六进制数字

\ 1这意味着我们希望将之前匹配的相同表达式匹配为分隔符。这就是保证一致性的原因。请注意,regexp语法是\ 1但我使用的是常规字符串,因此反斜杠必须通过加倍来转义。

[0-9a-f] {2}另一对十六进制数字

{4}上一个带括号的块必须重复4次,总共有6对数字:()* 4

$字符串必须在它们之后结束