Seite 1 von 1

Mac Adresse mit Doppelpunkten

Verfasst: Donnerstag 3. Dezember 2009, 16:43
von Nostremato
Hallo zusammen,
ich bin leider noch ein Neuling in Sachen python und brauche ein bisschen Hilfe.

Ich muss für ein projekt aus einer MS SQL Datenbank Rechnernamen und Mac auslesen.
Das klappt auch problemlos. Allerdings enthalten die MAC Adressen in der Datenbank keine Doppelpunkte.

Meine Frage ist nun wie ich diese einfügen kann.

Code: Alles auswählen

cur.execute(sqlcmd)
row = cur.fetchone()
while row:
    print "Name=%s MAC=%s" % (row[0], row[1])
    row = cur.fetchone()
cur.close ()
Ausgabe:

Name=Workstation01 MAC=0050518BDFAC

Verfasst: Donnerstag 3. Dezember 2009, 16:55
von Defnull

Code: Alles auswählen

>>> import re
>>> def cleanmac(mac):
...     parts = re.findall(r'[0-9A-F]{2}', mac.upper())
...     if parts and len(parts) == 6:
...         return ':'.join(parts)
...     else:
...         raise TypeError('This is not a mac address') 
... 
>>> cleanmac('0050518BDFAC')
'00:50:51:8B:DF:AC'
>>> cleanmac('00?50x51.8B:DF-AC')
'00:50:51:8B:DF:AC'
>>> cleanmac('abc')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 6, in cleanmac
TypeError: This is not a mac address
Diese Funktion kommt mit allen möglichen Darstellungsarten zurecht, mit und ohne Trennzeichen.

Verfasst: Montag 7. Dezember 2009, 21:25
von Nostremato
top, vielen dank :)