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: 13004
- 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?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
-
- 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: 13004
- 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()])
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis