我製作MAC地址生成器,目前我有這個問題。如何定義兩個零的變量
mac1="001122334455"
mac2="001122334695"
mac1 = [mac1[x:x+2] for x in xrange(0,len(mac1),2)]
mac2 = [mac2[x:x+2] for x in xrange(0,len(mac2),2)]
k=0
for item in mac1:
mac1[k] = "%d" % int(mac1[k], 16)
mac2[k] = "%d" % int(mac2[k], 16)
mac1[k]=int(mac1[k])
mac2[k]=int(mac2[k])
k=k+1
while mac1 != mac2:
#print mac1
print "%X0:%X:%X:%X:%X:%X" % (mac1[0], mac1[1], mac1[2], mac1[3], mac1[4], mac1[5])
mac1[5] = int(mac1[5]) + 1
if int(mac1[5]) > 255:
#mac1[5] = 00
mac1[4] = int(mac1[4]) +1
if int(mac1[4]) > 255:
mac1[3] = int(mac1[3]) + 1
if int(mac1[3]) > 255:
mac1[2] = int(mac1[2]) +1
if int(mac1[2]) > 255:
mac1[1] = int(mac1[1]) +1
我需要開始從開始產生第五字節,所以我定義MAC1 [5] = 00,但代替兩個0我只得到一個0?
替換'「%X0:%X:%X:%X:%X:% X「''%02X:%02X:%02X:%02X:%02X:%02X」' - 但看到我的解決方案稍微短一些。 – eumiro
您的解決方案工作,謝謝:) – Thomas
採取字符串切片比做一堆班次和mods更容易 - 請參閱下面的解決方案。 – Dave