changeset: 71284:53d2d30d6ca0 branch: 2.7 parent: 71271:a9c6f468012e user: Antoine Pitrou date: Sat Jul 09 15:48:29 2011 +0200 files: Doc/library/os.rst Doc/library/sys.rst description: Issue #12326: document the recommended idiom for checking sys.platform on Unix systems. Also, point to the various alternatives. diff -r a9c6f468012e -r 53d2d30d6ca0 Doc/library/os.rst --- a/Doc/library/os.rst Sat Jul 09 02:34:05 2011 +0200 +++ b/Doc/library/os.rst Sat Jul 09 15:48:29 2011 +0200 @@ -53,6 +53,13 @@ names have currently been registered: ``'posix'``, ``'nt'``, ``'os2'``, ``'ce'``, ``'java'``, ``'riscos'``. + .. seealso:: + :attr:`sys.platform` has a finer granularity. :func:`os.uname` gives + system-dependent version information. + + The :mod:`platform` module provides detailed checks for the + system's identity. + .. _os-procinfo: diff -r a9c6f468012e -r 53d2d30d6ca0 Doc/library/sys.rst --- a/Doc/library/sys.rst Sat Jul 09 02:34:05 2011 +0200 +++ b/Doc/library/sys.rst Sat Jul 09 15:48:29 2011 +0200 @@ -726,6 +726,12 @@ For Unix systems, this is the lowercased OS name as returned by ``uname -s`` with the first part of the version as returned by ``uname -r`` appended, e.g. ``'sunos5'`` or ``'linux2'``, *at the time when Python was built*. + Unless you want to test for a specific system version, it is therefore + recommended to use the following idiom:: + + if sys.platform.startswith('linux'): + # Linux-specific code here... + For other systems, the values are: ================ =========================== @@ -740,6 +746,12 @@ AtheOS ``'atheos'`` ================ =========================== + .. seealso:: + :attr:`os.name` has a coarser granularity. :func:`os.uname` gives + system-dependent version information. + + The :mod:`platform` module provides detailed checks for the + system's identity. .. data:: prefix