Tôi đang đọc dữ liệu từ một tệp có chứa các từ có chữ cái tiếng Pháp và tiếng Anh. Tôi đang cố gắng xây dựng một danh sách tất cả các chữ cái tiếng Anh và tiếng Pháp có thể (được lưu trữ dưới dạng chuỗi). Tôi làm điều này với các mã bên dưới:Xử lý các chữ cái tiếng Pháp trong Python
# 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
Mã này in như sau:
[ 't', 'h', 'e', 'o', 'f', 'một ',' 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 ']
Rõ ràng là F chữ cái rench đã bị mất trong một số loại chuyển đổi sang ASCII, mặc dù tôi chỉ định mã hóa UTF! Điều kỳ lạ là khi tôi in ra dòng trực tiếp (hiển thị dưới dạng bình luận), các ký tự tiếng Pháp xuất hiện hoàn hảo!
Tôi nên làm gì để bảo toàn các ký tự này (é, è, ê, etc.
) hoặc chuyển đổi chúng về phiên bản gốc?
Có thể dupli cate [Unicode (utf8) đọc và ghi vào các tệp trong python] (http://stackoverflow.com/questions/491921/unicode-utf8-reading-and-writing-to-files-in-python) – mx0
Không, đọc các filie không phải là vấn đề - xem OP "làm việc nếu tôi in ở đây" bình luận – Greg