字符串之间是没法直接进行加法运算的,要先通过转换。python
十六进制字符串转换为十进制ide
int('a',16)spa
int('0xa',16)字符串
十进制转换为十六进制it
hex(10)ast
'0xa'class
十进制转换为字符串im
str(12)di
'12'view
练习:求MAC地址的下一个地址,考虑01 0f结尾的状况。
#!/usr/bin/python
macaddr = '00:16:3E:00:69:0D'
prefix = macaddr[:-2]
last_two = macaddr[-2:]
last_two_int = int(last_two,16)
new_last_two_int = last_two_int + 1
new_last_two = hex(new_last_two_int)
if len(new_last_two) == 3:
new_last_two = '0' + new_last_two[-1:]
else:
new_last_two = new_last_two[-2:]
newmacaddr = prefix + new_last_two
print newmacaddr.upper()