Hallo zusammen
meine Aufgabe ist es ein Python- Skript zu schreiben das eine Reihe von *.bat dateien aufruft.Ich würde gerne wissen welche befehle mir bei meinem Problem helfen könne!!!
vielleicht os.poppen?
danke
ein programm über python starten
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ja mit ``os.poppen`` kann man die Anzahl der Prozesse erhöhen.
Speziell für `*.bat` ist ``os.startfile`` interessant. Aber ansonsten vergiss, dass das `os`-Modul Funktionen zum starten von Prozessen hat.
Speziell für `*.bat` ist ``os.startfile`` interessant. Aber ansonsten vergiss, dass das `os`-Modul Funktionen zum starten von Prozessen hat.
Hallo, hab das nun mit os.startfile ausprobiert und es klappt!! cool
was ich noch fragen wollte, wenn man nun ein Programm damit startet, bleibt dann das Python- Skript so lange an dieser stelle bis das Programm fertig ist oder geht das Python gleich zum nächsten schritt!!!!!!!!!!!!!
Wenn ja wie kann man das abstellen?
danke
was ich noch fragen wollte, wenn man nun ein Programm damit startet, bleibt dann das Python- Skript so lange an dieser stelle bis das Programm fertig ist oder geht das Python gleich zum nächsten schritt!!!!!!!!!!!!!
Wenn ja wie kann man das abstellen?
danke
hallo
bitte verflucht mich nicht oder denkt nicht schlecht von mir aber subprozess habe ich nicht! ich weiß aber auch nicht wieso!!!!
Und das trauige ist daran, ich kann nicht änderen ( eine andere Version installieren,...). Deshalb muss ich euch die Frage stellen wie man das Problem sonst löst ohne subprocess?
-->Wie kann man ein Programm *.bat starten und Python wartet bis das es zu ende ist?
danke
bitte verflucht mich nicht oder denkt nicht schlecht von mir aber subprozess habe ich nicht! ich weiß aber auch nicht wieso!!!!
Und das trauige ist daran, ich kann nicht änderen ( eine andere Version installieren,...). Deshalb muss ich euch die Frage stellen wie man das Problem sonst löst ohne subprocess?
-->Wie kann man ein Programm *.bat starten und Python wartet bis das es zu ende ist?
danke
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Dann teste doch mal, ob es geht (mit ``os.system``, ``os.popen``, usw.).
Du könntest auch die BAT-Dateien in Python schreiben.
Ein Argument für das Update wären auch Sicherheitslücken, da die Version seit langem nicht mehr betreut wird. Du könntest dir aber auch den Source von ``subprocess`` anschauen, vllt ist das `pure Python` und du kannst es übernehmen.
Du könntest auch die BAT-Dateien in Python schreiben.
Ein Argument für das Update wären auch Sicherheitslücken, da die Version seit langem nicht mehr betreut wird. Du könntest dir aber auch den Source von ``subprocess`` anschauen, vllt ist das `pure Python` und du kannst es übernehmen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, also hol dir die Zustimmung Python 2.6 oder zumindest 2.5 zu installieren. Zudem ja viel Code der online ist, nicht mehr mit Python 2.2 funktioniert.max793 hat geschrieben:um eine neue Version zu intallieren brauch ich seine zustimmung
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
danke für den tipp
aber du musst verstehen dieser typ hat nachdem das Python schon so lange dRAUf ist eigene sachen geschrieben, die ich nicht verstehe und die er nicht hergibt, und wenn er jetzt eine aktuelle version hätte würde er nun wieder was lernen, unvorstellbar!!!!!!!!!!!!!
ALSO muss ich mich mit diesem herumquälen und das problem lösen
ich brauche einen befehl der erstens ein programm straten und darauf wartet das es zu ende ist!!!!
ich weiß nur das zum Beispiel os.popen geht also die ur alten befehle
vielleicht wisst ihr was Danke
aber du musst verstehen dieser typ hat nachdem das Python schon so lange dRAUf ist eigene sachen geschrieben, die ich nicht verstehe und die er nicht hergibt, und wenn er jetzt eine aktuelle version hätte würde er nun wieder was lernen, unvorstellbar!!!!!!!!!!!!!
ALSO muss ich mich mit diesem herumquälen und das problem lösen
ich brauche einen befehl der erstens ein programm straten und darauf wartet das es zu ende ist!!!!
ich weiß nur das zum Beispiel os.popen geht also die ur alten befehle
vielleicht wisst ihr was Danke
Code: Alles auswählen
# -*- coding: cp1252 -*-
import os
if __name__ == '__main__':
konsole = r'C:\WINDOWS\system32\cmd.exe /C '
skripts = [r'D:\testscript.bat',r'D:\nochein\skript.bat']
zeichen = '"'
# r'irgendeinstring' macht diesen zum raw string,
# dass wird hier benötigt, damit die >>\<< nicht
# vom interpreter als escape zeichen erkannt
# werden und fehler verursachen
for skript in skripts:
print 'Skript: "%s"' % (skript)
s = os.popen(''.join([konsole, zeichen, skript, zeichen]))
print '*'*50
for line in s.readlines():
print line.encode('UTF-8')
print '*'*50
print 'Exitstatus: ', s.close()
Lg, Jonas
Das "(skript)" hat übrigens keine Wirkung. Ein einzelner Wert kann direkt, ohne es in ein Tupel zu packen, übergeben werden. Ein Tupel mit einem Element bekommst du mittels "(skript,)".
Sebastian
Sebastian
Das Leben ist wie ein Tennisball.
hallo
ich habe nun erfahren das ich " nur "ein Programm öffnen muss!
also der Befehl os.popen ist hier angebracht oder nicht?
was ich noch wissen möchte, wie sagt man das Python das er auf das gestartete Programm warten soll?
Danke für die große Mühe nir zu helfen!!
ich habe nun erfahren das ich " nur "ein Programm öffnen muss!
also der Befehl os.popen ist hier angebracht oder nicht?
was ich noch wissen möchte, wie sagt man das Python das er auf das gestartete Programm warten soll?
Danke für die große Mühe nir zu helfen!!