Einen wunderschönen Guten Tag
Habe mal wieder eine ganz allgemeine Strukturierungsfrage:
wenn ich in einem Skript A mit os.spawnv() eine anderes Skript B aufrufe, ist dieses Skript B, dann main?
Hab bei ein paar Skripten nun vollkommen den Überblick verloren und ist alles etwas unübersichtlich und das Skript B beinhaltet bisher keinerlei Funktionen, einfach nur Code hintereinander, wäre daher jetzt irgendwie sinnvoll zu wissen. Bin nun gerade am aufräumen und strukturieren
Wenn es als main gestartet wird, würde das einiges vereinfachen. Wenn nicht hätte ich ja dann wieder relativ viel Code außerhalb von Funktionen.
mit os.spawnv() und __main__?
Zuletzt geändert von meneliel am Sonntag 9. März 2008, 12:08, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja. Und aus der Dokumentation:meneliel hat geschrieben:wenn ich in einem Skript A mit os.spawnv() eine anderes Skript B aufrufe, ist dieses Skript B, dann main?
os.spanw* Dokumentation hat geschrieben:(Note that the subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using these functions.)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
hmm ... also lieber:
als:
Und wo genau liegt der Vorteil? Und nutze ich besser Popen oder call?
Code: Alles auswählen
subprocess.call(["main.py",arg_list])
Code: Alles auswählen
os.spawnv(os.P_WAIT, PythonPath, "main.py", arg_list)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Es ist klarer, ``subprocess`` vereinigt vieles was in os.popen*, os.exec*, popen2.* und sonstwo verstreut ist.meneliel hat geschrieben:Und wo genau liegt der Vorteil? Und nutze ich besser Popen oder call?
``Popen`` nutzt du da wo du die Ein- oder Ausgabe kontrollieren willst und ``call`` nur dort wo du ein Programm aufrufst, ohne dich um dessen Ausgaben zu kümmern.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice