【发布时间】:2013-10-01 19:30:36
【问题描述】:
至少有三种方法可以在 Python 中检测操作系统/平台。
每种方法的理想应用是什么?什么时候应该使用一种方法而不是另一种方法?
编辑:我的具体用例是安装时和运行时检查依赖项。如果我在“Windows”上,我不想在setup.py 中安装某些库,因为它需要 Visual Studio。然后,在运行时我想检查依赖项是否可用(它可能不在“Windows”上)。
编辑 2:如果需要每个级别的操作系统详细信息,也可以看到一个简短的示例。
【问题讨论】:
-
一个重要的问题是,您为什么需要知道?在 Python 中添加特定于平台的行为通常是不必要的。
-
@SteveHoward 可能用于查找第三方库或用户目录。考虑到 Python 鼓励用一种方式做事,这很奇怪。
-
@SteveHoward 我的具体用例是安装时和运行时检查依赖项。如果是“Windows”,我不想在
setup.py中安装某些库,因为它需要 Visual Studio。然后我想在运行时检查依赖项是否可用(它可能不在“Windows”上)。 -
@LegoStormtroopr 我刚刚发现,但该问题没有公认的答案,最高票数也没有说明
platform.system()的使用。 -
对我来说,
os.name => 'nt'、sys.platform => 'win32'和platform.system() => 'Windows'。