Estoy tratando de escribir algunos caracteres en español en cadenas en modo interactivo. Por ejemplo, option+e e
para producir 'é' para que haga una declaración como string="él"
. Esto funciona en la terminal, pero en python (cualquier versión que tengo instalada, de la que tengo varias) no funciona. Simplemente no produce nada. Esto incluye tratar de pegar los personajes. Es exactamente el problema descrito en this question, específicamente la parte sobre pegar y en su comentario a la pregunta de Alex, donde señala que la respuesta de Alex no aborda la cuestión de la falla de copiar/pegar con respecto a los caracteres utf-8. ¿Cómo puedo hacer esto?Escribir caracteres utf-8 en python en modo interactivo en OS-X
Respuesta
usa u
antes de la cadena literal, para hacerla una cadena unicode.
string = u"El avión cayó del cielo"
si eso no funciona el problema radica en su editor o terminal, en ese caso, trate de añadir
#coding: utf8
en cualquiera de las 2 primeras líneas de su programa de pitón y utilizar un editor adecuado con Unicode apoyo.
La primera sugerencia no funciona, no puedo ingresar el carácter en absoluto en el intérprete.No estoy seguro de lo que quieres decir en la segunda sugerencia. Estoy usando la aplicación de terminal que viene con OS-X y puedo ingresar los caracteres en el shell, pero no en python en modo interactivo. Ya he cambiado mi codificación predeterminada para que sea 'utf-8' en 'sitecustomize.py'. –
No se recomienda cambiar el ancho del sistema de codificación predeterminado, ya que puede dañar algunas bibliotecas. – KurzedMetal
** No ** cambie la codificación predeterminada. ¿Qué significa 'import sys; print (sys.stdout.encoding) 'decir? –
La biblioteca readline
que Python usa para leer entradas interactivas no acepta caracteres no ASCII enviados por el terminal. Esto significa que su emulador de terminal no proporciona los caracteres en la codificación UTF-8, o readline no está configurado para aceptar la entrada UTF-8.
Afortunadamente, readline es utilizado por muchos programas populares, incluido el shell bash
, por lo que hay mucha información sobre cómo hacerlo funcionar. Por ejemplo, from this article:
¿Cómo llego UTF-8 de entrada para que funcione correctamente?
- En el Inspector de Terminal :
- En la sección de emulación, desactivar la opción caracteres de escape no ASCII.
- En la sección Pantalla, elija Unicode (UTF-8) como la codificación de conjunto de caracteres.
Añada la siguiente línea a su
.profile:
export LC_CTYPE=en_US.UTF-8
Añadir las siguientes líneas a su
.inputrc
:set meta-flag on set input-meta on set output-meta on set convert-meta off
aplicar los cambios haciendo una
source ~/.profile
y unasource ~/.inputrc
.
Esto también lamentablemente no resuelve ese problema – Rmatt
- 1. Modo interactivo en matplotlib
- 2. pythonrc.py no se carga en modo interactivo
- 3. ¿Cómo habilitar el modo interactivo de python en cygwin?
- 4. Python Get Docstring sin entrar en modo interactivo
- 5. trazado interactivo en Python?
- 6. Algunos caracteres utf8 permitidos en la fuente python, algunos no
- 7. pydev: depurar en modo consola (interactivo)?
- 8. ghci - compilación ansiosa en modo interactivo?
- 9. de caracteres UTF8 decodificación en C Objetivo
- 10. Verificar la cadena utf8 válida en Python
- 11. No puedo escribir códigos de línea múltiple en el modo interactivo Coffeescript (REPL)
- 12. Cómo escribir shell interactivo con soporte de lectura en Scala?
- 13. Historia del modo interactivo de Python y teclas de flecha
- 14. Hacer Emacs usar UTF-8 con Python modo interactivo
- 15. MySQL - Convertir caracteres latin1 en una mesa de UTF8 en UTF8
- 16. Escribir caracteres Unicode en OStream
- 17. vim: ¿no reconoce los alias cuando está en modo interactivo?
- 18. Existe la posibilidad de ejecutar una secuencia de comandos de Python mientras está en modo interactivo
- 19. C++ cómo escribir/leer ofstream en Unicode/UTF8
- 20. Error con los caracteres utf8 y htmlspecialchars en yii
- 21. Script de Python interactivo asíncrono
- 22. Hibernate/JPA caracteres import.sql utf8 dañados
- 23. Escribir para depurar en modo de lanzamiento
- 24. Compatibilidad con caracteres [y] en modo PDU
- 25. Convertir punto de código unicode en hex UTF8 en python
- 26. osx lion nunca se queda en modo de suspensión
- 27. instalar MySQLdb para Python 2.6 en OSX
- 28. Ubicación de Python en mac osx
- 29. principiante python en mac osx 10.8
- 30. Python os.getenv en OSX (Django 1.4)
¿Qué es exactamente lo que quiere decir con "el intérprete de Python"? Accedo al shell de Python * a través de * la terminal, ¿cómo lo haces? –
Creo que quise decir el modo interactivo. Cambió la pregunta. –
Eso no responde mi pregunta. ¿Cómo llegas a esto que llamas "modo interactivo"? –