web-dev-qa-db-fra.com

Comment trouver le système d'exploitation actuel en Python?

Duplicate possible:
Python: Sous quel système d’exploitation puis-je fonctionner?

Comme le titre l'indique, comment trouver le système d'exploitation actuel en python?

220
UnkwnTech

J'utilise habituellement sys.platform pour obtenir la plate-forme. sys.platform fera la distinction entre Linux, les autres unix et OS X tandis que os.name est "posix" pour chacun d'entre eux.

Pour des informations beaucoup plus détaillées, utilisez le module de plate-forme . Cela a des fonctions multi-plateformes qui vous donneront des informations sur l'architecture de la machine, le système d'exploitation et la version du système d'exploitation, la version de Python, etc.

241
dF.

Si vous voulez des données lisibles par l'utilisateur mais toujours détaillées, vous pouvez utiliser platform.platform ()

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

platform possède également d'autres méthodes utiles:

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

Voici différents appels que vous pouvez effectuer pour identifier votre position.

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(),
))

Les sorties de ce script exécutées sur différents systèmes (Linux, Windows, Solaris, MacOS) et architectures (x86, x64, Itanium, power pc, sparc) sont disponibles ici: https://github.com/ hpcugent/easybuild/wiki/OS_flavor_name_version

248
Jens Timmerman
import os
print os.name

Cela vous donne les informations essentielles dont vous aurez généralement besoin. Pour distinguer, par exemple, différentes éditions de Windows, vous devrez utiliser une méthode spécifique à la plate-forme.

39
Greg Hewgill

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

Pour compléter le message de Greg, si vous utilisez un système posix, qui comprend MacOS, Linux, Unix, etc., vous pouvez utiliser os.uname () pour avoir une idée plus précise du type de système utilisé.

17
bmdhacks

Quelque chose le long des lignes:

import os
if (os.name == "posix"):
    print os.system("uname -a")
# insert other possible OSes here
# ...
else:
    print "unknown OS"
5
lenooh