Seite 1 von 1

os.system -> Leerzeichen im Dateinamen

Verfasst: Dienstag 11. Oktober 2005, 09:13
von pr0stAta
Halli Hallo, ich kann mir kaum vorstellen, das noch keiner
dieses Problem hatte, dennoch fand ich per Suche nichts
brauchbares.
Hat meine Datei ein Leerzeichen im Namen, so schneidet os.system
den String dort einfach ab:

Code: Alles auswählen

>>> pfad = "c:/test/02-AudioTrack 02.mp3"
>>> os.system(pfad)
Der Befehl "c:/test/02-AudioTrack" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
1
os.system("%s") %(bla) funktionierte auch nicht
Gibt es dafür eine Lösung?
Gruss prosta

Verfasst: Dienstag 11. Oktober 2005, 09:26
von henning
os.system() macht zunächst erstmal gar nichts mit deinen Dateinamen, es nimmt nur einen String entgegen und gibt diesen so wie er ist, an deine shell weiter (in deinem Fall wird das wahrscheinlich die cmd.exe oder command.com sein).

Das heißt, du musst Dateinamen etc... so angeben, wie dus in dieser Shell auch machen würdest.
Ich gehe aufgrund des langen Dateinamens mal von der cmd.exe aus, dann müsste das hier funktionieren (ungetestet):

Code: Alles auswählen

os.system('"c:/test/02-AudoiTrack 02.mp3"')
Zu beachten hierbei sind die einfachen Anführungszeichen aussen bei dem String. So hat der String, der übergeben wird noch die "normalen" Anführungszeichen, die der cmd.exe erzählen sollten, dass es sich um einen Dateinamen und nicht um 2 handelt.

Verfasst: Dienstag 11. Oktober 2005, 09:38
von pr0stAta
Manchmal ist die Lösung so nah und doch so fern ^^
Ich danke dir, damit hats geklappt.
Und nebenbei, mir ist schon klar das os.system nichts mit dem String
selber macht, war nur bildlich gesprochen ;)