Pergunta

Duplicate possíveis:
Python: Qual OS estou rodando em

?

Como o título diz, como posso encontrar o sistema operacional atual em python?

Foi útil?

Solução

Eu costumo usar sys.platform para obter a plataforma. sys.platform fará distinção entre linux, outros unixes, e OS X, enquanto os.name é "posix" para todos eles.

Para obter informações muito mais detalhadas, use o plataforma módulo . Isto tem funções multi-plataforma que lhe dará informações sobre a arquitetura da máquina, sistema operacional e versão do sistema operacional, versão do Python, etc. Também tem funções específicas-os a fazer as coisas como a distribuição linux particular.

Outras dicas

Se você quiser dados legíveis usuário, mas ainda detalhado, você pode usar platform.platform ()

>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'

platform também tem alguns outros métodos úteis:

>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'

Eis algumas chamadas diferentes possíveis que você pode fazer para identificar onde você está

import platform
import sys

def linux_distribution():
  try:
    return platform.linux_distribution()
  except:
    return "N/A"

print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
mac_ver: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_distribution(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
platform.mac_ver(),
))

Os resultados deste correu script em alguns sistemas diferentes (Linux, Windows, Solaris, MacOS) e arquiteturas (x86, x64, Itanium, Power PC, SPARC) está disponível aqui: https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version

import os
print os.name

Isto dá-lhe as informações essenciais que você geralmente precisa. Para distinguir entre, digamos, diferentes edições do Windows, você terá que usar um método específico da plataforma.

https://docs.python.org/library/os.html

Para complementar o post de Greg, se você estiver em um sistema POSIX, que inclui MacOS, Linux, Unix, etc. você pode usar os.uname () para obter uma sensação melhor para que tipo de sistema que é.

Algo ao longo das linhas:

import os
if (os.name == "posix"):
    print os.system("uname -a")
# insert other possible OSes here
# ...
else:
    print "unknown OS"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top