Seite 1 von 1

Anderes Python Programm öffnen

Verfasst: Mittwoch 18. Mai 2011, 13:01
von Anönös
Hey Leute,

ich habe mehrere einfache Anfänger Programme geschrieben,
mit einfachen Schleifen und Wenn-Funktionen.

Jetzt möchte ich ein Programm schreiben, in dem man all diese Programme aufrufen kann.
Doch ich weiß nicht, was für einen Befehl ich benötige...

Ich hoffe, ihr könnt mir helfen :)

LG, Anönös

Re: Anderes Python Programm öffnen

Verfasst: Mittwoch 18. Mai 2011, 13:08
von .robert
Ich weiß, blöde Antwort, aber:

Zum Aufrufen von Programmen ist eine Shell (oder unter Windows: Kommandozeile) ja nahezu wie geschaffen.

Re: Anderes Python Programm öffnen

Verfasst: Mittwoch 18. Mai 2011, 13:23
von Hyperion
Wenn diese Programme in Python geschrieben sind, dann benutze doch einfach `import`, um diese als Module in Dein "Relais"-Programm zu integrieren.

Je nach Bedarf kannst Du diesem dann noch einen "Dispatcher" hinzufügen, mit welchem man diese Miniprogrämmchen (die jetzt ja als aufrufbare Funktionen zur Verfügung stehen) gezielt aufrufen kann.

Das könnte im groben so aussehen:

Code: Alles auswählen

# modul A (A.py)
def foo():
    print "Hallo"

# modul B (B.py)
def bar():
    print "Ciao"

# Relais-Programm
import sys

import A
import B

if __name__ == "__main__":
    dispatch = {"hallo": A.foo, "ciao": B.bar}
    dispatch[sys.argv[1]]()
Aufrufen kann man das nun, indem man einen Parameter beim Aufruf des Scriptes übergibt:

Code: Alles auswählen

./relais.py hallo
-> Hallo
./relais.py ciao
-> Ciao
Über solche Dispatch-Methoden haben wir hier schon vielfach diskutiert. Kommt halt immer auf den Anwendungsfall an. Man kann auch ein interaktives Menü basteln, bei dem man die Funktionen per Nummer / Id aufruft.

Sollte es sich nicht um Pythonprogramme handeln, so kannst Du das `subprocess`-Modul nutzen. Damit kann man beliebige Programme aus Python heraus aufrufen.