Einige Hintergrundinformationen: Wir haben ein uraltes webbasiertes Dokumenten-Datenbanksystem, in dem ich fast ausschließlich aus MS Office-Dokumenten mit den "normalen" Erweiterungen (.doc, .xls, .ppt). Sie werden alle basierend auf einer beliebigen ID-Nummer (d. H. 1245.doc) benannt. Wir wechseln zu SharePoint und ich muss alle diese Dateien umbenennen und sie in Ordner sortieren. Ich habe eine CSV-Datei mit allen Arten von Informationen (wie die ID-Nummer entspricht dem Titel des Dokuments), also verwende ich es, um diese Dateien umzubenennen. Ich habe ein kurzes Python-Skript geschrieben, das den ID-Nummer-Titel umbenennt.Python string.replace() ersetzt keine Zeichen
Allerdings haben einige der Titel der Dokumente Schrägstriche und andere möglicherweise schlechte Zeichen in einem Titel einer Datei haben, so möchte ich sie mit Unterstrichen ersetzt werden:
bad_characters = ["/", "\\", ":", "(", ")", "<", ">", "|", "?", "*"]
for letter in bad_characters:
filename = line[2].replace(letter, "_")
foldername = line[5].replace(letter, "_")
- Beispiel
line[2]
: "blah blah langweilig - Treffen 19.02/2008.doc" - Beispiel
line[5]
: "Geschäftstreffen 2/2008"
Als ichhinzufügeninnerhalb der for
Schleife, wird es den Brief drucken, der ersetzt werden soll, aber wird dieses Zeichen nicht tatsächlich durch einen Unterstrich ersetzen, wie ich es will.
Gibt es irgendetwas, was ich hier falsch mache?
Tangentiale Frage: Haben Sie darüber nachgedacht, dies mit einem regulären Ausdruck zu tun? –
@all - Danke für die Erklärungen. Ich kann nicht glauben, dass ich das übersehen habe. (donnerstags ...) – ZeroUptime