Czytam dane z pliku zawierającego słowa z francuskimi i angielskimi literami. Próbuję skonstruować listę wszystkich możliwych angielskich i francuskich liter (zapisanych jako ciągi). Zrobić to z kodem:Obsługa francuskich liter w Pythonie
# encoding: utf-8
def trackLetter(letters, line):
for a in line:
found = False;
for b in letters:
if b==a:
found = True
if not found:
letters += a
cur_letters = []; # for storing possible letters
data = urllib2.urlopen('https://duolinguist.wordpress.com/2015/01/06/top-5000-words-in-french-wordlist/', 'utf-8')
for line in data:
trackLetter(cur_letters, line)
# works if I print here
print cur_letters
Kod drukuje następujące:
[ 't', 'h', 'e', 'o', 'f', „a "," n "," d "," i "," r "," s "," b "," y "," w ", " u "," m "," l "," v " , "c", "p", "g", "k", "x", "j", "z", "q", "\ xc3", "\ xa0", "\ xaa", " \ xb9 ',' \ xa9 ',' \ xa8 ',' \ xb4 ',' \ xae ',' - ',' \ xe2 ', ' \ x80 ',' \ x99 ',' \ xa2 ',' \ xa7 ',' \ xbb ',' \ xaf ']
Oczywiście F litery rench zostały utracone w pewnym rodzaju konwersji do ASCII, mimo że określam kodowanie UTF! Dziwne jest to, kiedy bezpośrednio wydrukuję linię (pokazaną jako komentarz), znaki francuskie wyglądają idealnie!
Co należy zrobić, aby zachować te znaki (é, è, ê, etc.
), lub przekonwertować je z powrotem na ich oryginalną wersję?
Możliwe dupli cate z [Unicode (utf8) czytania i pisania do plików w pythonie] (http://stackoverflow.com/questions/491921/unicode-utf8-reading-andwriting-to-files-in-python) – mx0
Nie, czytanie nie jest to problemem - zobacz komentarz OP "działa, jeśli tu wydrukuję" – Greg