Ich möchte das Betriebssystem überprüfen (auf dem Computer, auf dem das Skript ausgeführt wird).
Ich weiß, dass ich unter os.system('uname -o')
Linux verwenden kann, aber es gibt mir eine Nachricht in der Konsole und ich möchte in eine Variable schreiben.
Es ist in Ordnung, wenn das Skript erkennen kann, ob es sich um Mac, Windows oder Linux handelt. Wie kann ich das überprüfen?
python
linux
operating-system
kolek
quelle
quelle
Antworten:
Sie können verwenden
sys.platform
:sys.platform
hat eine feinere Granularität alssys.name
.Die gültigen Werte finden Sie in der Dokumentation .
Siehe auch die Antwort auf "Auf welchem Betriebssystem laufe ich?"
quelle
"cygwin"
nicht"win32"
wie erwartet zurückkehrt."linux2"
kein möglicher Wert mehr istplatform
(siehe die verknüpften Dokumente zur Bestätigung). Wenn Sie also nur Python 3.3 und höher unterstützen müssen, können Sie die Klausel `oder platform ==" linux2 "` sicher aus der Klausel löschen erste Bedingung.Wenn Sie wissen möchten, auf welcher Plattform Sie sich unter "Linux", "Windows" oder "Darwin" (Mac) befinden, sollten Sie Folgendes verwenden:
Die
platform.system
Funktion wirduname
intern verwendet.quelle
Linux
,Windows
,Java
oder eine leere Zeichenfolge. devdocs.io/python~3.7/library/platform#platform.systemSie können eine ziemlich grobe Vorstellung von dem Betriebssystem bekommen, das Sie verwenden, indem Sie überprüfen
sys.platform
.Sobald Sie diese Informationen haben, können Sie sie verwenden, um festzustellen, ob das Aufrufen von etwas
os.uname()
geeignet ist, um spezifischere Informationen zu sammeln. Sie können auch Python-Systeminformationen unter Unix-ähnlichen Betriebssystemen oder pywin32 für Windows verwenden.Es gibt auch psutil, wenn Sie eine eingehendere Prüfung durchführen möchten, ohne sich um das Betriebssystem kümmern zu müssen.
quelle
Nähere Informationen finden Sie im
platform
Modul .quelle
platform
Modul einen Vorteil gegenübersys.platform
? Wann würde ich welchen Ansatz verwenden wollen?platform
Modul. Klicken Sie einfach auf den Link für die Dokumentation.Sie können verwenden
sys.platform
.quelle