至少有三种方法可以在Python中检测OS /平台。
每种方法的理想应用是什么?什么时候应该使用一种方法替代另一种方法?
编辑:我的特定用例是安装时和依赖项的运行时检查。我不想setup.py
在“ Windows”上安装某些库,因为它将需要Visual Studio。然后,在运行时,我想检查依赖项是否可用(它可能不在“ Windows”上)。
编辑2:也很高兴看到一个简短的示例,说明何时需要每个级别的OS详细信息。
这取决于您需要多少信息。
os.name
只会让您对所处的环境有一个高级的了解(例如POSIX与Windows NT)-甚至没有OS名称。该文件说:
另请参见
sys.platform
具有更精细的粒度。os.uname()
提供与系统有关的版本信息。平台模块提供对系统身份的详细检查。
sys.platform
例如,它为您提供了更多信息,并且实际上可以告诉您是否正在运行Linux vs. FreeBSD。
该platform
模块将为您提供最多的信息,包括正在运行的操作系统的版本以及处理器信息。
因此,您应该指定要完成的任务,然后可能会清楚哪种方法最合适。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句