Hallo,
ich bin noch ganz neu in Python. Ich möchte gerne ein Python Programm schreiben mit dem ich eine Python Datei öffnen und auch ausführen kann.Das Ergebnis wird dann wieder gegeben.
Ich versuche das ganze mit subprocess.cheack_call ("Datei.py"). Bin ich damit überhaupt auf dem richtigen Weg?
Vielen Dank im vorraus!
Mit Python eine Datei öffnen
@MlleBlanche: Erkläre bitte etwas genauer, was Du vorhast. Normalerweise will man ja die Funktionalität, die in dem anderen Python-Programm ist, direkt in das Hauptprogramm einbinden anstatt den Umweg über einen eigenen Prozess zu gehen.
- Käptn Haddock
- User
- Beiträge: 169
- Registriert: Freitag 24. März 2006, 14:27
Wenn du ein Pythonskript ausführen willst, warum importierst du es nicht und rufst auf was drin steht?
Gruß Uwe
Gruß Uwe
---------------------------------
have a lot of fun!
have a lot of fun!
Mein Prgramm sieht momentan so aus: Zuerst lese ich Parameter ein, die Teil einer Funktion sind, dann hab ich die Funktion beschrieben, abhängig von der Zeit. Dann möchte ich über subprocess eine Datei einlesen,die das Euler Verfahren beschreibt mit dem die Funktion gelöst werden soll.
@MlleBlanche: Und warum möchtest Du das über so einen ungewöhnlichen Weg lösen statt das andere Modul zu importieren und die Funktion die das Eulerverfahren anwendet aufzurufen?
Falls das nicht das beste Verfahren ist oder ich ein anderes nutzen möchte, schnell ohne großes rumkopieren, die Datei auszutauschen kann.
@MlleBlanche: Das geht mit importieren nicht einfacher oder schwerer als bei Deinem, wie gesagt ungewöhnlichen Ansatz. Man muss halt entweder den Dateiinhalt austauschen, oder den Namen im anderen Quelltext ändern. Bei beiden Ansätzen.
Also soll ich einfach den Code reinkopieren. Was hätte ich denn noch für Möglichkeiten außer reinkopieren oder mit dem Befehl subprocess eine andere Datei einzulesen?
@MlleBlanche: Was suchst Du denn nach Möglichkeiten statt das jetzt einfach mal so zu implementieren wie man das normalerweise machen würde? Und `subprocess` ist auch eher keine Möglichkeit, denn damit startet man externe Prozesse. Da müsstest Du dann in einem neuen parallel gestarteten Prozess in dem dort gestarteten Modul wieder das Modul importieren das Du zum starten dieses neuen Prozesses verwendet hast. Das ist vollkommen unnötig kompliziert.
@MlleBlanche: Ich verstehe die Frage nicht so ganz? Module und ``import`` sind dokumentiert.