Wie überprüfe ich das Betriebssystem in Python?

  • Ich möchte das Betriebssystem überprüfen (auf dem Computer, auf dem das Skript ausgeführt wird).

    Ich weiß, dass ich os.system('uname -o') unter Linux verwenden kann. aber es gibt mir eine Meldung in der Konsole und ich möchte in eine Variable schreiben.

    Es wird in Ordnung sein, wenn das Skript erkennen kann, ob es sich um einen Mac, Windows oder Linux handelt. Wie kann ich das überprüfen?

    20 May 2016
    ppperryMaxim Egorushkin
6 answers
  • Sie können eine ziemlich grobe Vorstellung von dem Betriebssystem erhalten, das Sie verwenden, indem Sie sys.platform .

    Wenn Sie diese Informationen haben, können Sie damit feststellen, ob Sie etwas wie os.uname() ist dazu geeignet, genauere Informationen zu sammeln. Sie können auch etwas wie Python-Systeminformationen für Unix-ähnliche Betriebssysteme oder pywin32 für Windows.

    Es gibt auch psutil , wenn Sie eine eingehendere Inspektion durchführen möchten, ohne sich um das Betriebssystem zu kümmern.

    22 November 2011
    Nick Bastin
  • Weitere Informationen finden Sie im Modul platform .

    22 November 2011
    Sven Marnach
  • Wenn Sie wissen möchten, auf welcher Plattform Sie sich befinden: "Linux", "Windows" oder "Darwin" (Mac), müssen Sie Folgendes verwenden:

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

    Der platform.system Funktion verwendet intern uname.

    08 October 2017
    Laurent LAPORTE
  • Sie können sys.platform verwenden. p>

    22 November 2011
    Ondrej SlintákDavid Cramer
  • Es scheint einige widersprüchliche Informationen darüber zu geben, wie Windows erkannt wird. Einige Quellen sagen "Windows" und andere Quellen sagen "win32".

    In diesem Zusammenhang ...

     from sys import platform
    
    if "win" in platform.lower():
        print platform
    
    win32
     

    Das könnte in Cygwin jedoch zutreffen. Sie können jedoch immer einen Haken hinzufügen, um sicherzustellen, dass "cy" nicht vorhanden ist.

    06 September 2016
    Amaroq