python skript soll startmodus doppelklick und command line unterscheiden

27/02/2009 - 01:37 von joblack | Report spam
Ich habe ein Python Skript welches sich entweder per Doppelkick
starten (mit der gui_main Funktion) làsst und seine drei Parameter
dann per graphischer Oberflàche holt oder ich muss die die cli_main
Funktion aktivieren um das Skript per Kommandozeile (mit den drei
Parametern) startet.

Ich such nach einer Lösung in der das Pythonskript unterscheiden kann
ob es per Doppelklick gestartet wurde (und dann die Eingabefelder
anzeigt) oder per Kommandozeile (so dass ich beide Varianten in einem
Skript haben kann).

Ich könnte es mit der Anzahl der Argumente unterscheiden (z.B. keine
Argumente -> GUI, falls deri Argumente CMD Version) aber ich hàtte
auch gerne dass die CMD-Version bei keinen Argumenten eine Hilfe wie

Usage:

pythonskript.py argument1 argument2 argument3

anzeigt.

Hat jemand einen Tip oder eine Idee wie man das elegant lösen kann?

Gruss und danke
Tobias
 

Lesen sie die antworten

#1 Thomas Guettler
27/02/2009 - 09:35 | Warnen spam
joblack schrieb:
Ich habe ein Python Skript welches sich entweder per Doppelkick
starten (mit der gui_main Funktion) làsst und seine drei Parameter
dann per graphischer Oberflàche holt oder ich muss die die cli_main
Funktion aktivieren um das Skript per Kommandozeile (mit den drei
Parametern) startet.



Hallo,

unter Windows kann man Python Scripte auch die Dateiendung .pyw geben,
dann öffnet sich auch nicht die DOS-Box.

mit sys.argv[0] könntest du prüfen, ob foo.pyw oder foo.py aufgerufen wurde.

Oder die schreibst eine zweite Datei:

foo_win.py:
{{{
import foo

def main():
# Parameter einlesen
foo.start(parameter)

if __name__=='__main__':
main()
}}}

Gruß,
Thomas


Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

Ähnliche fragen