Anfaengerfrage zu rename

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
ronnyno
User
Beiträge: 12
Registriert: Dienstag 29. Mai 2007, 21:35

Dienstag 29. Mai 2007, 21:43

Hi !
Habe erst vor kurzem mit Python angefangen.
Ich will eine mp3 Datei umbenennen.

import os
os.rename('C:\mp3\song.mp3','C:\mp3\songumbenannt.mp3')

Die Datei song.mp3 befindet sich in dem angegebenen Verzeichnis,
aber irgendwas stimmt da nicht. Bekomme immer die Fehlermeldung:

WindowsError: [Error 123] Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch

Viele Gruesse, Ronny
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Dienstag 29. Mai 2007, 22:07

Du musst \ durch / ersetzten oder vor den String ('C:\..) ein r setzen.
bsp:
r'C:\Programme\...'

das hat was damit zutun der Backslash (\) ein escape zeichen ist also den nächsten buchstaben 'entwertet' es ist spät also überlasse ich das genauere den anderen ;-)
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Dienstag 29. Mai 2007, 22:09

In Python-Stringliteralen sind "Backslash + bestimmte Zeichen" Escapesequenzen für nichtdruckbare Zeichen.

Zum Beispiel steht "\n" für ein Newline (Zeilenende) oder "\t" für ein Tab. "\\" steht für einen Backslash.

Du musst also entweder alle Backslashes verdoppeln oder sogenannte "raw strings" verwenden:

"C:\\dir\\file.mp3"
r"C:\dir\file.mp3"

In "raw strings" werden die genannten Backslash-Escapes nicht verarbeitet.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
ronnyno
User
Beiträge: 12
Registriert: Dienstag 29. Mai 2007, 21:35

Mittwoch 30. Mai 2007, 08:26

vielen dank euch allen !

jetzt funktioniert es :D
Antworten