में फ्रेंच अक्षरों को संभालना मैं एक फ़ाइल से डेटा पढ़ रहा हूं जिसमें फ्रेंच और अंग्रेजी अक्षरों वाले शब्द शामिल हैं। मैं सभी संभावित अंग्रेजी और फ्रेंच अक्षरों (तारों के रूप में संग्रहीत) की एक सूची बनाने का प्रयास कर रहा हूं।पायथन
# 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
इस कोड को प्रिंट निम्नलिखित:
[ 'टी', 'ज', 'ई', 'ओ', 'च', 'एक मैं नीचे दिए गए कोड के साथ ऐसा कर ',' एन ',' डी ',' आई ',' आर ',' एस ',' बी ',' वाई ',' डब्ल्यू ', ' यू ',' एम ',' एल ',' वी ' , 'सी', 'पी', 'जी', 'के', 'एक्स', 'जे', 'जेड', 'क्यू', 'एक्स एक्स 3', '\ xa0', '\ xaa', ' \ xb9 ',' \ xa9 ',' \ xa8 ',' \ xb4 ',' \ xae ',' - ',' \ xe2 ', ' \ x80 ',' \ x99 ',' \ xa2 ',' \ xa7 ',' \ xbb ',' \ xaf ']
जाहिर है एफ यूटीएफ एन्कोडिंग निर्दिष्ट करने के बावजूद, एएससीआईआईआई के कुछ प्रकार के रूपांतरण में छिद्र पत्र खो गए हैं! अजीब बात यह है कि जब मैं सीधे लाइन को प्रिंट करता हूं (एक टिप्पणी के रूप में दिखाया जाता है), फ्रेंच वर्ण पूरी तरह प्रकट होते हैं!
इन वर्णों को सुरक्षित रखने के लिए मुझे क्या करना चाहिए (é, è, ê, etc.
), या उन्हें अपने मूल संस्करण में वापस परिवर्तित करें?
संभावित डुप्ली [यूनिकोड (utf8) के कैट को पढ़ने और पाइथन में फ़ाइलों को लिखना] (http://stackoverflow.com/questions/491921/unicode-utf8-reading-and-writing-to-files-in-python) – mx0
नहीं, पढ़ना फाइली मुद्दा नहीं है - ओपी के "अगर मैं यहां प्रिंट करता हूं तो काम करता है" टिप्पणी – Greg