需求:
生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B
解题思路:
要求生成这样格式的mac地址:01-AF-3B-xx-xx-xx
首先生成-xx格式,16进制组成的数,注意MAC英文字母为大写。
拼接成为:01-AF-3B-xx
再生成:-xx
再次拼接:01-AF-3B-xx-xx依次类推
-xx
01-AF-3B-xx-xx-xx
import string
import random
# 随机生成一个MAC地址的函数
def creat_mac():
MAC= '01-AF-3B'
# 生成16进制的数
hex_num = string.hexdigits
# 0123456789abcdefABCDEF
for i in range(3):
# 从16进制字符串中随机选出2个数来(返回值为列表)['a', 'd']
n = random.sample(hex_num,2)
# 拼接列表中的内容,将小写字母转换为大写-AD
sn = '-' + ''.join(n).upper()
MAC += sn
return MAC
# 主函数,随机生成100个MAC地址
def main():
# 以写的方式打开文件
with open('mac.txt','w') as f:
for i in range(100):
mac= creat_mac()
print(mac)
# 每生成一个MAC地址,存入文件(注意换行)
f.write(mac+'\n')
main()
生成MAC.txt文件
屏幕同时显示输出: