environment fingerprint
Jabba Laci
jabba.laci at gmail.com
Tue Jan 29 18:33:12 EST 2013
Hi,
Thanks for the tip. I came up with the solution below. For my purposes
the short fingerprint is enough.
Laszlo
======
import platform as p
import uuid
import hashlib
def get_fingerprint(md5=False):
"""
Fingerprint of the current operating system/platform.
If md5 is True, a digital fingerprint is returned.
"""
sb = []
sb.append(p.node())
sb.append(p.architecture()[0])
sb.append(p.architecture()[1])
sb.append(p.machine())
sb.append(p.processor())
sb.append(p.system())
sb.append(str(uuid.getnode())) # MAC address
text = '#'.join(sb)
if md5:
md5 = hashlib.md5()
md5.update(text)
return md5.hexdigest()
else:
return text
def get_short_fingerprint(length=6):
"""
A short digital fingerprint of the current operating system/platform.
Length should be at least 6 characters.
"""
assert 6 <= length <= 32
#
return get_fingerprint(md5=True)[-length:]
On Tue, Jan 29, 2013 at 2:43 PM, Andrew Berg <bahamutzero8825 at gmail.com> wrote:
> On 2013.01.29 07:18, Jabba Laci wrote:
>> Hi,
>>
>> I have a script that I want to run in different environments: on
>> Linux, on Windows, on my home machine, at my workplace, in virtualbox,
>> etc. In each environment I want to use different configurations. For
>> instance the temp. directory on Linux would be /tmp, on Windows
>> c:\temp, etc. When the script starts, I want to test the environment
>> and load the corresponding config. settings. How to get an
>> OS-independent fingerprint of the environment?
> http://docs.python.org/3.3/library/platform.html
> http://docs.python.org/3.3/library/os.html#os.environ
>
> --
> CPython 3.3.0 | Windows NT 6.2.9200.16461 / FreeBSD 9.1-RELEASE
> --
> http://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list