लेकिन क्या मैं बाहर मुद्रित देखना चाहते हैं, है आश्चर्य:
[('亀',), ('犬',)]
क्या कर आप इसे देखना चाहते हैं पर मुद्रित? क्योंकि अगर यह कंसोल है, तो यह बिल्कुल गारंटी नहीं है कि आपका कंसोल उन पात्रों को प्रदर्शित कर सकता है। यही कारण है कि पाइथन का 'repr()' ऑब्जेक्ट का प्रतिनिधित्व \ -escapes के सुरक्षित विकल्प के लिए जाता है, जिसे आप हमेशा स्क्रीन पर देख सकते हैं और आसानी से टाइप कर सकते हैं।
एक शर्त के रूप में आपको यूनिकोड स्ट्रिंग्स (यू ') का उपयोग करना चाहिए। और, जैसा कि मैथ्यू द्वारा उल्लेख किया गया है, यदि आप सीधे स्रोत में '亀' लिखने में सक्षम होना चाहते हैं तो आपको यह सुनिश्चित करना होगा कि पायथन फ़ाइल के एन्कोडिंग को पढ़ सके। गैर-ASCII वर्णों के कभी-कभी उपयोग के लिए आप बचने वाले संस्करण 'u4e80' से चिपकने के लिए सबसे अच्छा है, लेकिन जब आपके पास बहुत सारे पूर्वी एशियाई पाठ हैं जिन्हें आप पढ़ने में सक्षम होना चाहते हैं, तो "# कोडिंग = utf-8" निश्चित रूप से जाने का रास्ता।
प्रिंट '[% s]'% ',' .join ([',' .join ('(% s,)'% ',' .join (ti) टी में टीआई के लिए)]
जो उद्धरणों से अनचाहे वर्णों को मुद्रित करेगा। वास्तव में आप चाहते हैं चाहते हैं:
def reprunicode(u):
return repr(u).decode('raw_unicode_escape')
print u'[%s]' % u', '.join([u'(%s,)' % reprunicode(ti[0]) for ti in t])
यह काम करेगा, लेकिन अगर सांत्वना यूनिकोड का समर्थन नहीं किया है (और यह विंडोज पर विशेष रूप से परेशानी है), तो आप एक बड़ी वर्ष UnicodeError मिलेगा।
किसी भी मामले में, यह शायद ही कभी मायने रखता है क्योंकि किसी ऑब्जेक्ट का repr() जो आप यहां देख रहे हैं, आमतौर पर इसे एप्लिकेशन के सार्वजनिक उपयोगकर्ता इंटरफ़ेस में नहीं बनाता है; यह वास्तव में केवल कोडर के लिए है।
हालांकि, आप को पता है अजगर 3.0 बर्ताव करता है कि बिल्कुल के रूप में आप चाहते हैं खुश हो जाएगा:
- सादे 'यू' उपसर्ग 'बिना तार' अब यूनिकोड तार कर रहे हैं
- रेपर() सबसे पता चलता शब्दशः Windows कंसोल में
- यूनिकोड बेहतर समर्थित है
अजगर 3.0 (आप अभी भी अगर अपने वातावरण को UTF-8 नहीं है यूनिक्स पर UnicodeError प्राप्त कर सकते हैं) यूनिकोड वर्ण एक छोटा सा नया है और पुस्तकालयों द्वारा इतनी अच्छी तरह से समर्थित नहीं है, लेकिन यह आपकी आवश्यकताओं के अनुरूप बेहतर हो सकता है।
'raw_unicode_escape' एन्कोडिंग को इंगित करने के लिए धन्यवाद। मुझे नहीं पता था कि अस्तित्व में था! – Matthew