2011-06-18 9 views
11

मान लीजिए कि आपआप टर्मिनल के एन्कोडिंग को पाइथन स्क्रिप्ट के भीतर से कैसे प्राप्त करते हैं?

python myscript some arguments 

मैं समझता हूँ की तरह कुछ मानकों के साथ एक अजगर स्क्रिप्ट शुरू करना चाहते हैं, कि तार sys.argv[1] और sys.argv[2] एन्कोडिंग टर्मिनल में निर्दिष्ट करना होगा करते हैं। क्या इस जानकारी को अजगर लिपि के भीतर से प्राप्त करने का कोई तरीका है?

terminal_enocding = some_way.to.GET_TERMINAL_ENCODING 
some = `sys.argv[1]`.decode(terminal_encoding) 
arguments = `sys.argv[2]`.decode(terminal_encoding) 

उत्तर

18

sys.stdout.encoding आप मानक आउटपुट की एन्कोडिंग दे देंगे अधिक here (क्यों है और कैसे पायथन में डिफ़ॉल्ट एन्कोडिंग के समझाने फेडोरा विकी प्रविष्टि) देखें। sys.stdin.encoding आपको मानक इनपुट के लिए एन्कोडिंग देगा।

6

आप locale.getdefaultlocale() फोन और टपल के दूसरे भाग का उपयोग कर सकते हैं:

मेरा लक्ष्य कुछ इस तरह है।

संबंधित मुद्दे