Subprocess schließen? - Problem mit Run Time Error

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Donnerstag 30. März 2006, 10:22

Hallo Leute!

1. Frage: Ich öffne über eine For-SCheife immer wieder den selben Subprocess. Die Input Datei wird am Beginn der For-Schleife immer wieder überschrieben. Es kommt aber zu einem Runtime Error. Was ist ein Run Time Error? Kann es sein, dass die For Schleife schneller ist, als die Input Datei überschrieben wird. Gibt es dieses Problem in Python?

2. Frage: Ich öffne einen Subprocess über den Befehl:

Code: Alles auswählen

 
import os
os.startfile('hallo.exe')
Dann erscheint das DOS-Eingabe Fenster. Wie lautet der Befehl, dass ich das DOS Fenster wieder schließe von Python aus.

Ich hoffe, dass meine Ausführungen einigermaßen verständlich waren.

Danke,

Johannes
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Donnerstag 30. März 2006, 11:00

1. Frage: Ich öffne über eine For-SCheife immer wieder den selben Subprocess. Die Input Datei wird am Beginn der For-Schleife immer wieder überschrieben. Es kommt aber zu einem Runtime Error. Was ist ein Run Time Error? Kann es sein, dass die For Schleife schneller ist, als die Input Datei überschrieben wird. Gibt es dieses Problem in Python?
Meine Kristallkugel ist OOO, sprich, mehr Details wären für alle zum Beantworten der Frage hilfreich.
2. Frage: Ich öffne einen Subprocess über den Befehl: ... Dann erscheint das DOS-Eingabe Fenster. Wie lautet der Befehl, dass ich das DOS Fenster wieder schließe von Python aus.
Gar nicht. Stell das DOS-Fenster was geöffnet wird entweder so ein dass es sich automatisch schließt wenn das Programm terminiert, oder lebe mit den Fenstern. Ersteres ließe sich zur Not über eine .PIF-Datei für das Programm erreichen.
--- Heiko.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Donnerstag 30. März 2006, 14:46

keboo hat geschrieben: Dann erscheint das DOS-Eingabe Fenster. Wie lautet der Befehl, dass ich das DOS Fenster wieder schließe von Python aus.
Hi Johannes!

os.startfile() wartet nicht. Es verhält sich wie der DOS-Befehl START.

Verwende os.system(). Das wartet bis das Programm fertig ist.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Donnerstag 30. März 2006, 15:18

keboo hat geschrieben:Was ist ein Run Time Error?
Ein Fehler der zur Laufzeit (runtime) des Programmes auftritt.

Wenn dir das nicht hilft, musst du uns schon verraten, was für ein RuntimeError aufgetreten ist.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 30. März 2006, 16:32

keboo hat geschrieben: Dann erscheint das DOS-Eingabe Fenster. Wie lautet der Befehl, dass ich das DOS Fenster wieder schließe von Python aus.
Ich habe mal ein Programm geschrieben, dass unter Windows Programme beendet: sleeplayer.py. Aber die Win32API ist nicht wirklich komfortabel, das habe ich schon festgestellt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Sonntag 2. April 2006, 13:01

Hi Leute!

Ich hab mit time.sleep(0.1) ein künstliches Delay eingefügt in meine FOR Schleife. Das Problem war tatsächlich, dass die For Schleife schneller war als die Festplatte. In der For Schleife wurde immer wieder eine Datei überschrieben.

Danke für eure Hilfe,

Johannes
Antworten