2011-06-18 17 views
11

en dizeleri sys.argv[1] ve sys.argv[2] terminalde belirtilen kodlamayı sahip olacağı, senTerminalin kodlamasını bir python komut dosyasından nasıl alırsınız?

python myscript some arguments 

anlıyorum gibi bazı parametreler ile bir python komut başlatmak istediğimizi varsayalım. Bu bilgiyi python komut dosyasından almanın bir yolu var mı?

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

cevap

18

sys.stdout.encoding size standart çıkışını kodlamasını verecektir daha here (neden ve nasıl Python varsayılan kodlama en açıklayan Fedora wiki girdisini) bakınız. sys.stdin.encoding, standart giriş için size şifreleme sağlayacaktır.

6

Sen locale.getdefaultlocale() arayıp başlığın ikinci bölümünü kullanabilirsiniz:

Amacım böyle bir şeydir.

İlgili konular