From: Daniel Berger Date: 2008-08-05T22:30:29+09:00 Subject: Re: [ANN] macaddr-1.0.0 ara.t.howard wrote: > > On Aug 4, 2008, at 9:53 PM, Daniel Berger wrote: > >> This Python library may be of interest: >> >> http://mail.python.org/pipermail/python-win32/2005-September/003746.html >> >> Covers pretty much every which way to get the info without shelling out. >> >> Regards, >> >> Dan > > > hmmm - i don't read too much python but this looks like shelling out: > > > def getmacs_ifconfig(): > """parses the output of unix ifconfig to find mac addresses""" > lines = os.popen("ifconfig", "r").readlines() > headerlines = [line for line in lines if line and not > line[:1].isspace()] > for line in headerlines: > parts = line.split() > ifname = parts[0] > if 'HWaddr' in parts: > hwpart = parts.index('HWaddr') > if hwpart+1 < len(parts): > mac = parts[hwpart+1] > yield mac > > def getmacs_ipconfig(): > """parses the output of windows ipconfig to find MAC addresses""" > lines = os.popen("ipconfig /all", "r").readlines() > for line in lines: > if line and not line[:1].isspace(): > header = line > ipaddress, mac = None, None > elif line.strip(): > if line.strip().startswith("IP Address") and ":" in line: > ipaddress = line.split(":", 1)[1].strip() > if mac: > yield mac > ipaddress, mac = None, None > if line.strip().startswith("Physical Address") and ":" in line: > mac = line.split(":", 1)[1].strip() > if ipaddress: > yield mac > ipaddress, mac = None, None > > > > you are right that's it's more complete though! if anyone wants to add > a test for their platform porting using this lib as 'doc' i'm happy to > add it Yes, that's all I meant - that it had a bunch of alternative implementations. Regards, Dan