我需要看些什么来确定我使用的是Windows还是Unix等等?


当前回答

像下面这样一个简单的Enum实现怎么样?不需要外部库!

import platform
from enum import Enum
class OS(Enum):
    def checkPlatform(osName):
        return osName.lower()== platform.system().lower()

    MAC = checkPlatform("darwin")
    LINUX = checkPlatform("linux")
    WINDOWS = checkPlatform("windows")  #I haven't test this one

简单地,您可以使用Enum值访问

if OS.LINUX.value:
    print("Cool it is Linux")

附注:它是python3

其他回答

有很多方法可以找到这个最简单的方法就是使用OS包

import os 
print(os.name)

对于Jython,我发现获得操作系统名称的唯一方法是检查os.name Java属性(在WinXP上尝试使用sys, os和平台模块的Jython 2.5.3):

def get_os_platform():
    """return platform name, but for Jython it uses os.name Java property"""
    ver = sys.platform.lower()
    if ver.startswith('java'):
        import java.lang
        ver = java.lang.System.getProperty("os.name").lower()
    print('platform: %s' % (ver))
    return ver

使用Python区分操作系统的示例代码:

import sys

if sys.platform.startswith("linux"):  # could be "linux", "linux2", "linux3", ...
    # linux
elif sys.platform == "darwin":
    # MAC OS X
elif os.name == "nt":
    # Windows, Cygwin, etc. (either 32-bit or 64-bit)

使用platform.system ()

返回系统/操作系统名称,例如'Linux', 'Darwin', 'Java', 'Windows'。如果无法确定该值,则返回空字符串。

import platform
system = platform.system().lower()

is_windows = system == 'windows'
is_linux = system == 'linux'
is_mac = system == 'darwin'

试试这个:

import os

os.uname()

你可以这样做:

info=os.uname()
info[0]
info[1]