2011-06-18 9 views
11

Digamos que usted desea iniciar un script en Python, con algunos parámetros como¿Cómo se obtiene la codificación del terminal dentro de un script python?

python myscript some arguments 

entiendo, que las cadenas sys.argv[1] y sys.argv[2] tendrá la codificación especificada en el terminal. ¿Hay alguna manera de obtener esta información desde el script python?

Mi objetivo es algo como esto:

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

Respuesta

18

sys.stdout.encoding le dará la codificación de salida estándar. sys.stdin.encoding le dará la encerramiento para la entrada estándar.

6

Puede llamar locale.getdefaultlocale() y utilizar la segunda parte de la tupla.

Ver más here (Fedora wiki de entrada que explica el por qué y cómo de de la codificación predeterminada en Python)

Cuestiones relacionadas