我想检查操作系统(在运行脚本的计算机上)。

我知道我可以用os。system('uname -o'),但它在控制台中给了我一个消息,我想写入一个变量。

如果脚本可以判断它是Mac、Windows还是Linux,那就没问题了。我怎么检查呢?


当前回答

如果你想知道你在“Linux”、“Windows”或“Darwin”(Mac)之外的哪个平台上,你应该使用:

>>> import platform
>>> platform.system()
'Linux'  # or 'Windows'/'Darwin'

这个平台。系统功能内部使用uname。

其他回答

你可以通过检查sys.platform来大致了解你所使用的操作系统。

一旦有了这些信息,就可以使用它来确定调用os.uname()之类的方法是否适合收集更具体的信息。你也可以在类unix操作系统上使用Python System Information,或者在Windows上使用pywin32。

如果您想进行更深入的检查,而不想关心操作系统,还可以使用psutil。

你可以使用sys.platform。

你可以使用sys.platform:

from sys import platform
if platform == "linux" or platform == "linux2":
    # linux
elif platform == "darwin":
    # OS X
elif platform == "win32":
    # Windows...

sys。平台具有比sys.name更细的粒度。

有关有效值,请参阅文档。

请参见“我在什么操作系统上运行?”

如果你想知道你在“Linux”、“Windows”或“Darwin”(Mac)之外的哪个平台上,你应该使用:

>>> import platform
>>> platform.system()
'Linux'  # or 'Windows'/'Darwin'

这个平台。系统功能内部使用uname。

更详细的信息可以在平台模块中找到。