Possible values from sys.platform?

Question:

What are the possible return values from the following command?

import sys
print sys.platform

I know there is a lot of possibilities, so I’m mainly interested in the “main” ones (Windows, Linux, Mac OS)

Asked By: dbr

||

Answers:

Mac OS X (10.4, 10.5, 10.7, 10.8):

darwin

Linux (2.6 kernel):

linux2

Windows XP 32 bit:

win32

Versions in brackets have been checked – other/newer versions are likely to be the same.

Answered By: dbr

As others have indicated, sys.platform
is derived from the name that the
system vendor gives their system.
However, Python also adds
plat- to sys.path, so
you can look at all the plat-*
directories in the Python
distribution.

This gives you the list

aix3 aix4 atheos beos5 darwin freebsd2
freebsd3 freebsd4 freebsd5 freebsd6
freebsd7 generic irix5 irix6 linux2
mac netbsd1 next3 os2emx riscos sunos5
unixware7

Of course, sys.platform can have
additional values, when Python gets
compiled on a system for which no
platform-specific directory has been
created.

From here.

Answered By: Mitch Wheat

FreeBSD 7.0: freebsd7. FreeBSD8 but build performed on previous version, same answer.

So be aware you get the platform used for the build, not necessarely the one you’re running on.

Answered By: Keltia
┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ System              │ Value               │
┝━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━┥
│ Linux               │ linux or linux2 (*) │
│ Windows             │ win32               │
│ Windows/Cygwin      │ cygwin              │
│ Windows/MSYS2       │ msys                │
│ Mac OS X            │ darwin              │
│ OS/2                │ os2                 │
│ OS/2 EMX            │ os2emx              │
│ RiscOS              │ riscos              │
│ AtheOS              │ atheos              │
│ FreeBSD 7           │ freebsd7            │
│ FreeBSD 8           │ freebsd8            │
│ FreeBSD N           │ freebsdN            │
│ OpenBSD 6           │ openbsd6            │
│ AIX                 │ aix (**)            │
┕━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┙

(*) Prior to Python 3.3, the value for any Linux version is always linux2; after, it is linux.

(**) Prior Python 3.8 could also be aix5 or aix7; use sys.platform.startswith()

Answered By: ICB

As of Dec 29 2013, OS X 10.9.1 Mavericks is still labeled Darwin.

Answered By: Jason Elwood
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.