Issue #12326: update sys.platform doc for Linux

This commit is contained in:
Victor Stinner 2011-08-21 12:08:11 +02:00
parent e67474725b
commit 795eaeb41f
1 changed files with 12 additions and 7 deletions

View File

@ -702,20 +702,21 @@ always available.
This string contains a platform identifier that can be used to append This string contains a platform identifier that can be used to append
platform-specific components to :data:`sys.path`, for instance. platform-specific components to :data:`sys.path`, for instance.
For Unix systems, this is the lowercased OS name as returned by ``uname -s`` For Unix systems, except on Linux, this is the lowercased OS name as
with the first part of the version as returned by ``uname -r`` appended, returned by ``uname -s`` with the first part of the version as returned by
e.g. ``'sunos5'`` or ``'linux2'``, *at the time when Python was built*. ``uname -r`` appended, e.g. ``'sunos5'`` or ``'freebsd8'``, *at the time
Unless you want to test for a specific system version, it is therefore when Python was built*. Unless you want to test for a specific system
recommended to use the following idiom:: version, it is therefore recommended to use the following idiom::
if sys.platform.startswith('linux'): if sys.platform.startswith('freebsd'):
# Linux-specific code here... # FreeBSD-specific code here...
For other systems, the values are: For other systems, the values are:
================ =========================== ================ ===========================
System :data:`platform` value System :data:`platform` value
================ =========================== ================ ===========================
Linux ``'linux'``
Windows ``'win32'`` Windows ``'win32'``
Windows/Cygwin ``'cygwin'`` Windows/Cygwin ``'cygwin'``
Mac OS X ``'darwin'`` Mac OS X ``'darwin'``
@ -723,6 +724,10 @@ always available.
OS/2 EMX ``'os2emx'`` OS/2 EMX ``'os2emx'``
================ =========================== ================ ===========================
.. versionchanged:: 3.3
On Linux, :attr:`sys.platform` doesn't contain the major version anymore.
It is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``.
.. seealso:: .. seealso::
:attr:`os.name` has a coarser granularity. :func:`os.uname` gives :attr:`os.name` has a coarser granularity. :func:`os.uname` gives
system-dependent version information. system-dependent version information.