ich habe hier ein Problem mit dem Ersatz von Umlauten in Strings.
Code: Alles auswählen
translation_table = {
"Ä": "Ae",
"ä": "ae",
"Ö": 'Oe',
"ö": "oe",
"Ü": "Ue",
"ü": "ue",
"ß": "ss"
}
# 1.) String ist das Ergebnis eines dir auf den Verzeichnisbaum
# ... Ergebnis in eine Liste
# ... String ist ein Eintrag aus dem String
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp".translate(str.maketrans(translation_table)))
# Ausgabe mit Umlaut ü
# 2.)
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp". translate(str.maketrans(translation_table)))
# Ausgabe mit Umlaut in ue geaendertGebe ich diese Einträge mittels des beigefügten Codebeispieles aus, so habe ich immer noch meinen Umlaut "ü".
2.) Schreibe ich den gleichen Text, der mir unter 1.) per Script geliefert wurde in den Text per Hand, so wird der Umlaut "ü" sauber übersetzt.
3.) Kopiere ich den Umlaut "ü" aus dem unter 1.) genannten Ergebnisses eines Scriptes in die Übersetzungstabelle, so bekomme ich folgende Fehlermeldung:
Code: Alles auswählen
...
print("/Volumes/tmpEMPs/gefüllteBoxNegativ.emp".translate(str.maketrans(translation_table)))
ValueError: string keys in translate table must be of length 1System MacOsX und das gelistete Volume liegt auf einem NAS mit einem Linux drauf.
Wer kann helfen?
Gruß,
Christian.
