如何在Python中检查操作系统?

问题描述 投票:0回答:6

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

我知道我可以在 Linux 中使用

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

如果脚本能够判断是 Mac、Windows 还是 Linux 就可以了。我怎样才能检查它?

python linux operating-system
6个回答
530
投票

您可以使用

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
更细。

有关有效值,请参阅文档

另请参阅“我正在运行什么操作系统?”的答案


56
投票
如果您想知道您所在的平台是“Linux”、“Windows”或“Darwin”(Mac),但没有更精确的信息,您应该使用:

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

platform.system

函数在内部使用uname


16
投票
您可以通过检查

sys.platform

 对您正在使用的操作系统有一个相当粗略的了解。

一旦获得该信息,您就可以使用它来确定调用类似

os.uname()

 之类的内容是否适合收集更具体的信息。您还可以在类 UNIX 操作系统上使用 Python 系统信息,或在 Windows 上使用 pywin32

如果您想进行更深入的检查而不关心操作系统,还有

psutil


7
投票
更多详细信息可在

platform

模块
中找到。


5
投票
您可以使用

sys.platform


    


0
投票
你知道,非常有趣...我来这里只是因为当我移植到新用户来测试模块时 root.problem kivy.core.window 出现故障。 我必须进行一些挖掘并找到寻找操作系统类型的方法。现在我知道为什么小时候读整本书是我最喜欢的消遣了......

我为所有 Kivy 开发人员总结了这一点

kivy.utils:

from kivy.utils import platform if platform == 'linux': do_linux_things()
现在...我又要去探索了!!

© www.soinside.com 2019 - 2024. All rights reserved.