设备要量产,需要为每台设备烧录MAC及设备标识信息,今天为这事情专门写个小工具实现 这个功能,主要解决批量生成烧录配置信息,这里对其过程作个总结:
1. 选择QT的原因在于当时手上的图形工具就这一种,不想再花时间去搭建新的环境
2. QT简洁高效,搭配Python比较方便
3. 功能比较清晰,逻辑简单
主要过程:
1. 使用QT DESIGNER设置好界面,最终生成一个.ui文件的XML文件
进而通过pyuic4命令生成一个.py文件,该PY文件包含了界面的实现
2. 新的main.py文件包含功能的实现
其间主要解决了MAC的自加问题、产生随机字符问题、MAC地址的校验问题、QT弹消息问题、中文显示问题
MAC的有效性:
def isValidMacAddr(s):
valid = re.compile(r'''
(^([0-9A-F]{1,2}[-]){5}([0-9A-F]{1,2})$
|^([0-9A-F]{1,2}[:]){5}([0-9A-F]{1,2})$
|^([0-9A-F]{1,2}[.]){5}([0-9A-F]{1,2})$)
''', re.VERBOSE | re.IGNORECASE)
return valid.match(s) is not None
def increase_mac(m