MAC 주소 생성기를 만들고 현재이 문제가 있습니다. 두 개의 0으로 변수를 정의하는 방법
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
은 정말 I [5] = 대신 두 0 00 I 하나만 0 얻을 MAC1 정의 처음부터 다섯 번째 바이트를 생성하기 시작해야?
당신은 항상
0
로 저하됩니다
00
같은 정수를 설정할 수 없습니다
은 "'교체 %의 X0 참조 : % X % X % X % X % X ""% 02X : % 02X : % 02X : % 02X : % 02X : % 02X "'-하지만 조금 더 짧은 해결책을 볼 수도 있습니다. – eumiro
솔루션이 효과를 발휘했습니다. 감사합니다. – Thomas
문자열 조각을 사용하는 것이 쉬프트 및 개조 작업을 수행하는 것보다 쉽습니다 (아래 솔루션 참조). – Dave