Подтвердить что ты не робот

Как получить кодировку терминала из python script?

Скажем, вы хотите запустить python script с некоторыми параметрами, такими как

python myscript some arguments

Я понимаю, что строки sys.argv[1] и sys.argv[2] будут иметь кодировку, указанную в терминале. Есть ли способ получить эту информацию из python script?

Моя цель такова:

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

Ответ 1

sys.stdout.encoding даст вам кодировку стандартного вывода. sys.stdin.encoding предоставит вам encoding для стандартного ввода.

Ответ 2

Вы можете вызвать locale.getdefaultlocale() и использовать вторую часть кортежа.

Подробнее здесь (запись в вики Fedora, объясняющая, почему и как кодировка по умолчанию в Python)