Shockingly, it even says that parsing the file is "a better way" than using gestaltSystemVersion(). It's better for python, anyway, I think, since it doesn't require access to the Carbon API set. Be sure to handle the case where the file doesn't exist: import os version_info_file = "/System/Library/CoreServices/ SystemVersion.plist" if os.path.isfile(version_info_file): import plistlib info = plistlib.Plist.fromFile(version_info_file) print '%(ProductName)s %(ProductVersion)s' % info else: uname_os, uname_version = do_the_uname_thing print '%s %s' % (uname_os, uname_version) Or similar. -wsv On Sep 22, 2005, at 10:10 AM, Bob Ippolito wrote: > /usr/bin/sw_vers technically calls a private (at least undocumented) > CoreFoundation API, it doesn't parse that plist directly :) > > On further inspection, it looks like parsing the plist directly is > supported API these days (see the bottom of <http:// > developer.apple.com/documentation/Carbon/Reference/Gestalt_Manager/ > gestalt_refchap/chapter_1.4_section_181.html>): > > import plistlib > dct = plistlib.Plist.fromFile('/System/Library/CoreServices/ > SystemVersion.plist') > print '%(ProductName)s %(ProductVersion)s' % dct > > -bob > > On Sep 22, 2005, at 1:02 PM, Wilfredo Sánchez Vega wrote: > > >> "rhapsody" is emitted by uname on Mac OS X Server 1.x, but not on >> anything we ship today. >> >> Bob's right, the version number from uname only tells you about >> the kernel, and not whether, for example, the Cocoa API is on the >> system (it wouldn't be on a standalone Darwin OS install, which >> will have the same uname output). >> >> Just FYI, /usr/bin/sw_vers parses /System/Library/CoreServices/ >> SystemVersion.plist, which is XML. If you want that info, parsing >> the file may be more efficient than forking off sw_vers. >> >> -wsv >> >> >> On Sep 21, 2005, at 8:28 PM, Guido van Rossum wrote: >> >> >> >>> I forgot. The current code recognizes 'Rhapsody' and maps it to >>> "MacOS >>> X Server". But I don't see any evidence that Apple still uses the >>> code >>> name Rhapsody. Does uname ever return 'Rhapsody'? >>> >>> >> >> >> > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python-dev/ > wsanchez%40wsanchez.net > -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3057 bytes Desc: not available Url : http://mail.python.org/pipermail/python-dev/attachments/20050922/5e176f6c/smime-0001.bin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4