如何检查Python的操作系统?

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

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

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

174228 次浏览

你可以使用sys.platform

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

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

如果你想做更深入的检查,而不想关心操作系统,还有psutil

你可以使用sys.platform:

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

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

有效值可参考的文档

另见“我运行的是什么操作系统?”的答案

更详细的信息可在platform模块

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

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

platform.system函数在内部使用uname