Форум сайта python.su
Как создать список с элементами-mac адресами вида 0x12345678?
У меня получилось
def nromtest(host, *maclist): # пример: nromtest('com9',0xd05,0x80024366,0x8002432e,0x80024376....)
Отредактировано abogdan (Июль 5, 2012 15:41:58)
Офлайн
Может надо хранить в строках? listMac = [x for x in maclist] или даже listMac = list(maclist)
Отредактировано Singularity (Июль 5, 2012 17:07:02)
Офлайн
SingularityСеть большая.. Строк будет не организоваться..
Может надо хранить в строках?
listMac =
Офлайн
abogdanНу все у вас правильно, именно так, как вы написали.
Как создать список с элементами-mac адресами вида 0x12345678?
У меня получилосьdef nromtest(host, *maclist): # пример: nromtest('com9',0xd05,0x80024366,0x8002432e,0x80024376....)
abogdanНу так вы их и определяете как шестнадцатиричное число, внутри это все равно двоичное число, с каким бы базисом не задавали
Но он определяет их как hex:mad:.
abogdanА выводить через свою функцию форматирования
При выводе их через hex() из 0x12345678 получается 0x12345678L:/, но только в случае с 10 значным mac'ом.
def mac2str(mac): return ":".join("%02X" % ((mac >> (5 - i) * 8) & 0xff) for i in range(0, 6)) >>> print mac2str(0xd05) 00:00:00:00:0D:05 >>> print mac2str(0x80024366) 00:00:80:02:43:66 >>> print mac2str(0x8002432e) 00:00:80:02:43:2E
abogdanА откуда в mac-адресе не 16ричные символы?:/
Также при использовании в адресе не 16ричного символа выдает ошибку.
Офлайн