我对python很新,当我发现这个时,我正在寻找生成随机MAC地址的解决方案:
':'.join('%02x'%random.randint(0,255) for x in range(6))
我想要了解的是在代码中使用'%02x'%
。是否与表示mac地址的方式有关,它是由:
分隔的48位十六进制值?
答案 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