Hallo,
ich habe folgenden Code geschrieben. Mit dem will ich alle Dateien, die in dem Pfad abgelegt sind, in die ausführbare Datei (exe) reinladen. Die Befehle funktionieren alle, es wird kein Fehler angezeigt und das Programm öffnet sich auch. Allerdings werden die Dateien nicht reingeladen, sondern es kommt in dem Programm eine Error-Meldung (File kann nicht geladen werden). Kann mir jemand sagen, an was das liegt bzw. ob ich einen Fehler in meinem Code habe oder einen anderen Befehl benötige?
Vielen Dank
import os
import array
import subprocess
import time
dateien = os.listdir('C:\\Users\\Beispielpfad\\')
dateien.insert(0, "C:\\automate\\slic3r\\slic3r.exe")
subprocess.Popen(dateien)
Dateien in Unterprogramm öffnen
- __blackjack__
- User
- Beiträge: 14189
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@_Fragezeichen123: In der Liste sind vielleicht Sachen mit denen das Programm nichts anfangen kann? Verzeichnisse?
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
-
- User
- Beiträge: 2
- Registriert: Freitag 14. Mai 2021, 17:26
Danke, das war tatsächlich das Problem!!
`array` und `time` werden gar nicht verwendet. Der Rückgabewert von Popen wird nicht benutzt, insbesondere wird nicht auf das Ende des Programms gewartet.
Statt os.listdir benutzt man heutzutage Pathlib.
Statt os.listdir benutzt man heutzutage Pathlib.
Code: Alles auswählen
from pathlib import Path
import subprocess
SLICER = "C:/automate/slic3r/slic3r.exe"
dateien = list(Path('C:/Users/Beispielpfad').iterdir())
subprocess.run([SLICER] + dateien)
- __blackjack__
- User
- Beiträge: 14189
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Alternative Syntax:
Code: Alles auswählen
from pathlib import Path
import subprocess
SLICER = "C:/automate/slic3r/slic3r.exe"
subprocess.run([SLICER, *Path('C:/Users/Beispielpfad').iterdir()])
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?