mal wieder subprocess...

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
Nebelhom
User
Beiträge: 155
Registriert: Mittwoch 19. Mai 2010, 01:31

Nach meiner forumssuche zu schliessen, scheint subprocess viele verstaendnisprobleme zu verursachen. So auch leider bei mir.

ich versuche gerade in meinem GUI skript auf knopfdruck ein anderes Programm zu oeffnen. Das klappt mit subprocess.popen ganz gut (ist das der befehl den man jetzt benutzen soll oder ist der veraltet?; ich benutze python 2.6).

Leider greift das Programm auf Dateien in seinem Verzeichnis zu. Da ich mit meinem Skript in einem anderen Verzeichnis bin, kann das Programm nicht darauf zugreifen und wirft eine Fehlermeldung a la kann nicht zugreifen auf "Dateipfad"... wahrscheinlich, weil die Pfade sich darauf verlassen, dass man im selben Verzeichnis ist (Programm ist nicht in python geschrieben und ich bin kein computer-multilinguales ... Mensch)

Ich habe das Ganze mal mit os.chdir geloest (siehe unten), aber ich habe das Gefuehl, dass ich mir damit frueher oder spaeter Probleme einhandeln werde, wenn ich moeglicherweise auf dateien in meinem Ursprungsverzeichnis zugreifen will.

Koennte jemand von Euch mir die elegante Variante verklickern oder ein Pointer zu der Methode mit der man sowas macht? Sorry falls, das schonmal gefragt wurde, aber ich habe wohl nicht die richtigen suchparamater finden koennen, um da was zu finden.

Danke fuer Eure Hilfe.

Nebelhom

Code: Alles auswählen

    def onStruct(self, event):
        
        os.chdir("C:\\Programme\\WinDrawChem") # Without this, program can't access necessary files
        
        subprocess.Popen(["C:\\Programme\\WinDrawChem\\windrawchem.exe"])
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Code: Alles auswählen

    def onStruct(self, event):
        subprocess.Popen(["C:\\Programme\\WinDrawChem\\windrawchem.exe"], cwd="C:\\Programme\\WinDrawChem")
Nebelhom
User
Beiträge: 155
Registriert: Mittwoch 19. Mai 2010, 01:31

Verdammt! Das hab ich in der Doc ueberlesen!

das ist ein bisschen zu offensichtlich, um wahr zu sein... :roll:
Antworten