Seite 1 von 1

Von Python ausgeführte .exe Dateien finden .txt Datei nicht.

Verfasst: Samstag 27. Januar 2018, 22:32
von Deric
Hallo Python-forum
Ich stehe noch am Anfang der Programmierung mit Python und bin deshalb auf ein Problem gestoßen,
dass Ich nicht lösen kann.
Die Ausgangsposition ist, dass Ich mit einem Python Skript .exe Dateien ausführen will (die u.a. eine txt Datei öffnen), je nach dem ob bestimmte Variablen den Inhalt "true" haben.
Das Problem ist, dass die .exe Dateien zwar ausgeführt werden, aber die .txt Datei nicht finden und einen Fehler ausgeben:
"Die Datei XY.txt kann nicht gefunden werden"(Tippfehler hab Ich schon überprüft).
Wenn man die .exe Dateien allerdings manuell durch klicken ausführt, starten sie ohne Fehler die .txt Datei.
Habe das Problem schon gegoogelt, hab aber keine funktionierende Lösung gefunden. :K

Der Skript sieht folgendermaßen aus:

Code: Alles auswählen

if Anti_Netop == "true":
	subprocess.Popen([r"./USBOS/Anti_Netop.exe"]) 			#Anti_Netop.exe
else:
	print()
	
if Automatic_sorting == "true":
	subprocess.Popen([r"./USBOS/Sort.exe"])					#Sort.exe
else:
	print()
	
Danke schonmal an die Antworter.

Re: Von Python ausgeführte .exe Dateien finden .txt Datei nicht.

Verfasst: Samstag 27. Januar 2018, 23:05
von Sirius3
@Deric: mit der dürftigen Information kann man nur spekulieren, dass das Arbeitsverzeichnis dem der exe-Datei entsprechen muß.

Code: Alles auswählen

if Anti_Netop == "true":
    subprocess.call([r"./Anti_Netop.exe"], cwd="./USBOS")
Warum haben die Variablen keine wirklichen boolschen Werte?

Re: Von Python ausgeführte .exe Dateien finden .txt Datei nicht.

Verfasst: Sonntag 28. Januar 2018, 00:23
von Deric
Danke für die Antwort, die Variablen haben keine boolschen Werte, weil Ich leider noch nicht weis wie Ich ihnen solche Werte zuweisen kann.
Dein Code funktioniert prima, nachdem Ich die Pfade angepasst habe, das Arbeitsverzeichnis war also das Problem.
Das man mit dem Befehl subprocess auch das Arbeitsverzeichnis ändern kann wusste ich nicht, wieder was gelernt :idea:
Vielen Dank für die Antwort und die aufgewendete Zeit!