From: Antoine Pitrou Date: Sat, 9 Jul 2011 13:54:23 +0000 (+0200) Subject: Issue #12326: document the recommended idiom for checking sys.platform on Unix systems. X-Git-Tag: v3.2.2rc1~128 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a83cdaae89b9565bd3c6f78c14a23befcac24e76;p=thirdparty%2FPython%2Fcpython.git Issue #12326: document the recommended idiom for checking sys.platform on Unix systems. Also, point to the various alternatives. --- diff --git a/Doc/library/os.rst b/Doc/library/os.rst index c412ee17fd82..5c84e85ca963 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -61,6 +61,13 @@ Notes on the availability of these functions: names have currently been registered: ``'posix'``, ``'nt'``, ``'mac'``, ``'os2'``, ``'ce'``, ``'java'``. + .. 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-filenames: diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index ae2dbf3044a1..95dc6623395f 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -714,6 +714,12 @@ always available. 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: ================ =========================== @@ -726,6 +732,12 @@ always available. OS/2 EMX ``'os2emx'`` ================ =========================== + .. 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