[Tutor] how to determine windows version
Timothy M. Brauch
tbrauch at mindless.com
Sun Nov 9 00:16:38 EST 2003
From: "P.T. Waugh MA" <ptwaugh at earthlink.net>
> Hi all,
>
> Can't figure out how to determine the windows version my code is running
> on. I need to tell so I can determine where in the registry to look for
> the location of a program.
>
> Thanks,
>
> Patrick
Using my Windows XP pro machine, I tried this....
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'api_version', 'argv',
'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
'copyright', 'displayhook', 'dllhandle', 'exc_clear', 'exc_info',
'exc_traceback', 'exc_type', 'exc_value', 'excepthook', 'exec_prefix',
'executable', 'exit', 'exitfunc', 'getcheckinterval', 'getdefaultencoding',
'getfilesystemencoding', 'getrecursionlimit', 'getrefcount',
'getwindowsversion', 'hexversion', 'maxint', 'maxunicode', 'meta_path',
'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform',
'prefix', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'settrace',
'stderr', 'stdin', 'stdout', 'version', 'version_info', 'warnoptions',
'winver']
Hmm, a few of those look promising. Let's see what they do.
>>> sys.platform
Not too helpful.
>>> sys.version
'2.3.2 (#49, Oct 2 2003, 20:02:00) [MSC v.1200 32 bit (Intel)]'
Ah, that tells me about Python.
>>> sys.version_info
(2, 3, 2, 'final', 0)
About Python in a tuple.
>>> sys.winver
'2.3'
Looks like that just again tells me about Python.
>>> sys.getwindowsversion
<built-in function getwindowsversion>
Maybe this is what we need, but it's not a string; it's a function. Let's
check the __doc__
>>> sys.getwindowsversion.__doc__
'getwindowsversion()\n\nReturn information about the running version of
Windows.\nThe result is a tuple of (major, minor, build, platform,
text)\nAll elements are numbers, except text which is a string.\nPlatform
may be 0 for win32s, 1 for Windows 9x/ME, 2 for Windows NT/2000/XP\n'
Yes, that seems like what we will need.
>>> sys.getwindowsversion()
(5, 1, 2600, 2, 'Service Pack 1')
So I am using Windows 5.1.2600, which is NT/2000/XP based with Service Pack
1. It all checks out.
Remember, dir(module) and __doc__ can be your friends. If you can't
remember what modules there are, try looking at
http://www.python.org/doc/current/modindex.html
- Tim
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.536 / Virus Database: 331 - Release Date: 11/04/2003
More information about the Tutor
mailing list