940 Stimmen

Python: Auf welchem Betriebssystem laufe ich?

Was muss ich beachten, um festzustellen, ob ich unter Windows oder Unix usw. arbeite?

4 Stimmen

Siehe ( bugs.python.org/issue12326 ) für Details!

7 Stimmen

Hier ist eine verwandte Frage: Name der Linux-Distribution prüfen .

12voto

Alftheo Punkte 859

Ich verwende das WLST-Tool, das mit Weblogic geliefert wird, und es implementiert das Plattformpaket nicht.

wls:/offline> import os
wls:/offline> print os.name
java 
wls:/offline> import sys
wls:/offline> print sys.platform
'java1.5.0_11'

Abgesehen von Parcheando ist das System javaos.py ( Problem mit os.system() unter Windows 2003 mit jdk1.5 ) (was ich nicht kann, ich muss Weblogic verwenden), verwende ich Folgendes:

def iswindows():
  os = java.lang.System.getProperty( "os.name" )
  return "win" in os.lower()

9voto

Michał Niklas Punkte 50723

Für Jython ist die einzige Möglichkeit, den Betriebssystemnamen zu erhalten, die Überprüfung von os.name Java-Eigenschaft (versucht mit sys , os y platform Module für Jython 2.5.3 unter WinXP):

def get_os_platform():
    """return platform name, but for Jython it uses os.name Java property"""
    ver = sys.platform.lower()
    if ver.startswith('java'):
        import java.lang
        ver = java.lang.System.getProperty("os.name").lower()
    print('platform: %s' % (ver))
    return ver

0 Stimmen

Sie können auch "platform.java_ver()" aufrufen, um Betriebssysteminformationen in Jython zu extrahieren.

8voto

Eric Punkte 90800

Interessante Ergebnisse unter Windows 8:

>>> import os
>>> os.name
'nt'
>>> import platform
>>> platform.system()
'Windows'
>>> platform.release()
'post2008Server'

Bearbeiten: Das ist ein Fehler

8voto

kqw Punkte 19295

Vorsicht, wenn Sie Windows mit Cygwin verwenden, wo os.name ist posix .

>>> import os, platform
>>> print os.name
posix
>>> print platform.system()
CYGWIN_NT-6.3-WOW

8voto

urantialife Punkte 89

/usr/bin/python3.2

def cls():
    from subprocess import call
    from platform import system

    os = system()
    if os == 'Linux':
        call('clear', shell = True)
    elif os == 'Windows':
        call('cls', shell = True)

5 Stimmen

Willkommen bei SO, hier ist es eine gute Praxis, zu erklären, warum Sie Ihre Lösung verwenden und nicht nur wie. Das macht Ihre Antwort wertvoller und hilft weiteren Lesern, besser zu verstehen, wie Sie es machen. Ich schlage auch vor, dass Sie einen Blick auf unsere FAQ werfen: stackoverflow.com/faq .

0 Stimmen

Gute Antwort, vielleicht sogar gleichwertig mit der ursprünglichen Antwort. Aber Sie könnten erklären, warum.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X