¿Cómo uso raw_input en Python 3?
En Python 2:
raw_input()
En Python 3, aparece un error:
NameError: el nombre 'raw_input' no está definido
Aceptado
A partir de Python 3, raw_input()
se le cambió el nombre a input()
.
De Novedades de Python 3.0, segundo elemento de la sección Incorporados.
Esto funciona en Python 3.x y 2.x:
# Fix Python 2.x.
try: input = raw_input
except NameError: pass
print("Hi " + input("Say something: "))
Una forma confiable de abordar esto es
from six.moves import input
six es un módulo que soluciona muchos de los 2/3 puntos débiles comunes del código base.
La solución de Timmerman funciona muy bien al ejecutar el código, pero si no desea recibir Undefined name
errores al usar pyflakes o un linter similar, puede usar lo siguiente:
try:
import __builtin__
input = getattr(__builtin__, 'raw_input')
except (ImportError, AttributeError):
pass