python中的随机mac地址生成器

时间:2018-05-05 09:01:13

标签: python random

我对python很新,当我发现这个时,我正在寻找生成随机MAC地址的解决方案:

':'.join('%02x'%random.randint(0,255) for x in range(6))

我想要了解的是在代码中使用'%02x'%。是否与表示mac地址的方式有关,它是由:分隔的48位十六进制值?

2 个答案:

答案 0 :(得分:1)

https://docs.python.org/2/library/stdtypes.html#string-formatting

'%02x'是一个格式字符串,用于指定零填充的两位十六进制数。

'%02x' % number将以这种格式创建具有数字的实际字符串。

答案 1 :(得分:0)

如果你不理解列表理解,那么最好的策略是放松它。

myhexdigits = []
for x in range(6):
    # x will be set to the values 0 to 5
    a = random.randint(0,255)
    # a will be some 8-bit quantity
    hex = '%02x' % a
    # hex will be 2 hexadecimal digits with a leading 0 if necessary
    # you need 2 hexadecimal digits to represent 8 bits
    myhexdigits.append(hex)
    # save for after the loop ends
print (':'.join(myhexdigits))
# using : as the delimiter, join the 2-digit hex strings together into
# a single string