使用python检测操作系统

时间:2019-05-16 22:53:55

标签: python-3.x operating-system differentiation

我正在四处寻找解决问题的方法,我能找到的最好的方法是:     从sys导入平台     如果platform ==“ linux”或platform ==“ linux2”:         #Linux     elif platform ==“ darwin”:         #OS X     elif平台==“ win32”:         #Windows ...

有人知道我如何区分Linux PC和android,因为android基于Linux。如果可能的话,我该如何区分Mac OS和iOS

4 个答案:

答案 0 :(得分:1)

您可以看到我的github存储库https://github.com/sk3pp3r/PyOS并使用pyos.py脚本

import platform 
plt = platform.system()

if plt == "Windows":
    print("Your system is Windows")
    # do x y z
elif plt == "Linux":
    print("Your system is Linux")
    # do x y z
elif plt == "Darwin":
    print("Your system is MacOS")
    # do x y z
else:
    print("Unidentified system")

答案 1 :(得分:1)

如果您只想使用标准库,我建议您查看https://docs.python.org/3/library/sys.html#sys.platform

示例:

import sys

if sys.platform.startswith('linux'):
    # Linux specific procedures
elif sys.platform.startswith('darwin'):
    # MacOs specific procedures
elif sys.platform.startswith('win32'):
    # Windows specific procedures

答案 2 :(得分:0)

使用platform模块:

import platform
print(platform.system())
print(platform.release())
print(platform.version())

请注意,在Mac上运行的系统将为platform.system()返回'Darwin'

platform.platform()将返回非常详细的数据,例如

'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'

答案 3 :(得分:0)

根据我的个人经验,os.uname()一直是我的最爱。 uname函数仅真正驻留在基于Linux的系统中。以类似于此方法的方法使用该函数是检测您是否正在运行Windows系统的好方法:

import os

try:
    test = os.uname()
    if test[0] == "Linux":
        do something here.
execpt AttributeError:
    print("Assuming windows!")
    do some other stuff here.

我希望这会有所帮助!