Search code examples
python

What values are given for the `os.name` family of functions on various platforms in Python?


Python has a handful of different ways to determine what OS the program is running on:

  • os.name
  • platform.system()
  • sys.platform

What are the values of these on various platforms?


Solution

  • Linux:

    >>> import os
    >>> os.name
    'posix'
    >>> import platform
    >>> platform.system()
    'Linux'
    >>> import sys
    >>> sys.platform
    'linux2'
    

    Mac OS:

    >>> import os
    >>> os.name
    'posix'
    >>> import platform
    >>> platform.system()
    'Darwin'
    >>> import sys
    >>> sys.platform
    'darwin'
    

    Windows:

    >>> import os
    >>> os.name
    'nt'
    >>> import platform
    >>> platform.system()
    'Windows'
    >>> import sys
    >>> sys.platform
    'win32'
    

    Cygwin:

    >>> import os
    >>> os.name
    'posix'
    >>> import platform
    >>> platform.system()
    'CYGWIN_NT-10.0'
    >>> import sys
    >>> sys.platform
    'cygwin'
    

    GhostBSD 24.04.1, CPython 3.9.18

    >>> import os
    >>> os.name
    'posix'
    >>> import platform
    >>> platform.system()
    'FreeBSD'
    >>> import sys
    >>> sys.platform
    'freebsd14'