- Verwenden Sie das
fileinput
Modul über die Standardeingabe in Schleife oder eine Liste von Dateien,
- dekodieren die Zeilen, die Sie aus lesen UTF-8 in Unicode-Objekte
- dann alle Unicode-Zeichen bilden Sie mit dem
translate
Methode wünschen
translit.py
würde wie folgt aussehen:
#!/usr/bin/env python2.6
# -*- coding: utf-8 -*-
import fileinput
table = {
0xe4: u'ae',
ord(u'ö'): u'oe',
ord(u'ü'): u'ue',
ord(u'ß'): None,
}
for line in fileinput.input():
s = line.decode('utf8')
print s.translate(table),
Und Sie es wie folgt verwenden:
$ cat utf8.txt
sömé täßt
sömé täßt
sömé täßt
$ ./translit.py utf8.txt
soemé taet
soemé taet
soemé taet
- Update: standardmäßig Unicode
Falls Sie verwenden Python 3 Strings und Sie es nicht‘kodieren müssen wenn es Nicht-ASCII-Zeichen oder sogar nicht-lateinische Zeichen enthält. So wird die Lösung wie folgt aussehen:
line = 'Verhältnismäßigkeit, Möglichkeit'
table = {
ord('ä'): 'ae',
ord('ö'): 'oe',
ord('ü'): 'ue',
ord('ß'): 'ss',
}
line.translate(table)
>>> 'Verhaeltnismaessigkeit, Moeglichkeit'
Suche SO für "Umschrift" verwandte Fragen zu finden. – hop
http://StackOverflow.com/Questions/816285/where-is-pythons-best-ascii-for-this-unicode-database/816319#816319 – hop
Das angegebene Perl-Skript wird nur das erste Auftreten in jeder Zeile ersetzen, aber das ist sicher ein Unfall. – tripleee