पायथन 2 में डिफ़ॉल्ट आउटपुट एन्कोडिंग सेट करना एक प्रसिद्ध मुहावरे है:पायथन 3 में sys.stdout एन्कोडिंग कैसे सेट करें?
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
यह sys.stdout
ऑब्जेक्ट को कोडेक लेखक में लपेटता है जो यूटीएफ -8 में आउटपुट को एन्कोड करता है।
हालांकि, यह तकनीक पायथन 3 में काम नहीं करती है क्योंकि sys.stdout.write()
str
की अपेक्षा करता है, लेकिन एन्कोडिंग का परिणाम bytes
है, और एक त्रुटि तब होती है जब codecs
एन्कोडेड बाइट्स को मूल sys.stdout
पर लिखने का प्रयास करता है।
पायथन 3 में ऐसा करने का सही तरीका क्या है?
2to3 इन जैसे प्रश्नों के लिए एक उपयोगी उपकरण है। –
@ डैन_वाटरवर्थ: मैंने पहले कोशिश करने के बारे में नहीं सोचा था, लेकिन मैंने अभी '2to3' की कोशिश की और उसने दिए गए कोड के लिए कोई भी बदलाव नहीं सुझाया। –
यदि नया कोड काम नहीं करता है तो मैं सुझाव दूंगा कि आप इसे एक बग के रूप में जोड़ें। –