私はMACアドレス生成器を作っていますが、現在私はこの問題があります。 2つのゼロで変数を定義する方法
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
私はので、私は[5] =が、代わりに2 0の00、私は唯一の0を得るMAC1を定義し始めてから5番目のバイトの生成を開始する必要がありますか?あなたはそれが常に
0
に低下します
00
として整数を設定することはできません
は "'%のX0を交換してください:%X:%X:%X:%X:% %02X:%02X:%02X:%02X:%02X "" - 私の少し短い解決策を見てください。 – eumiro
解決策はありました。ありがとうございました:) – Thomas
シフトとモッズの束をするよりも、文字列スライスを取るほうが簡単です。 – Dave