[Python-de] exe-Dateien innerhalb von Tk starten

Rene Liebscher R.Liebscher at gmx.de
Wed Aug 1 13:02:26 EDT 2001


"R.Boes" wrote:
> 
> Hallo,
> 
> wenn ich in einer Tk-Oberfläche mit Python 2.1 in Windows eine exe-Datei mit
> os.execl starte, dann wird die Anwendung richtig gestartet und Python mit der
> Fehlermeldung "Diese Anwendung wird aufgrud eines ungültigen Vorgangs
> geschlossen" beendet. Kennt jemand dieses Problem und weiß vielleicht eine
> Lösung?

Die exec Funktionen ersetzen das laufende Programm (dein
Python-Interpreter)
durch das gestartete Programm. (Oder anders gesagt, die exec-Funktion
ist
das letzte was dein Programm tut, danach ist es nicht mehr existent.)

Wenn Du einfach nur ein externes Programm starten willst, dann entweder
mit
os.system("test.exe") oder (besser) mit
os.spawnv(os.P_WAIT, 'C:\Eigene Dateien\test.exe', ['"C:\Eigene
Dateien\test.exe"'])
(bzw. mit os.P_NOWAIT wenn Du nicht warten willst bis das externe
Programm
beendet ist.)

MfG
Rene Liebscher


> 
> Hier der Quelltext:
> 
> from Tkinter import *
> 
> class App:
> 
>     def __init__(self, master):
> 
>         frame = Frame(master)
>         frame.pack()
> 
>         self.button = Button(frame, text="QUIT", fg="red", command=frame.quit)
>         self.button.pack(side=LEFT)
> 
>         self.callback = Button(frame, text="test exe", width=20,
> command=self.callback)
>         self.callback.pack(side=LEFT)
> 
>     def callback(self):
>         import os
>         os.execl("C:\Eigene Dateien\test.exe","C:\Eigene Dateien\test.exe")
>         print "done!"
>         print "called the callback!"
> 
> root = Tk()
> 
> app = App(root)
> 
> root.mainloop()
> 
> Wenn jemand eine Idee hat, wie man das Problem lösen kann, würde ich mich
> freuen.
> 
> Beate



More information about the Python-de mailing list