teclado sirve raw_input que print para ejemplos datos comando capturar cadenas python python-3.x

sirve - raw_input python 3



¿Cómo uso raw_input en Python 3? (8)

Aquí hay un fragmento de código que puse en mis scripts que no debería ejecutar en el entorno py2 / 3-agnostic:

# Thank you, python2-3 team, for making such a fantastic mess with # input/raw_input :-) real_raw_input = vars(__builtins__).get(''raw_input'',input)

Ahora puedes usar real_raw_input. Es bastante caro pero corto y legible. El uso de la entrada en bruto suele ser costoso (esperar la entrada), por lo que no es importante.

En teoría, incluso puede asignar raw_input en lugar de real_raw_input pero puede haber módulos que verifiquen la existencia de raw_input y se comporten en consecuencia. Es mejor permanecer en el lado seguro.

import sys print (sys.platform) print (2 ** 100) raw_input( )

Estoy usando Python 3.1 y no puedo hacer que el raw_input "congele" la ventana emergente de DOS. El libro que estoy leyendo es para 2.5 y estoy usando 3.1

¿Qué debo hacer para solucionar esto?


Como otros lo han indicado, la función raw_input ha sido renombrada a input en Python 3.0, y un libro más actualizado le raw_input mejores servicios, pero quiero señalar que hay mejores maneras de ver el resultado de tu guion

Desde su descripción, creo que está usando Windows, ha guardado un archivo .py y luego hace doble clic en él para ejecutarlo. La ventana de terminal que aparece se cierra tan pronto como finaliza su programa, por lo que no puede ver cuál fue el resultado de su programa. Para resolver esto, su libro recomienda agregar una declaración raw_input / input para esperar hasta que el usuario presione. Sin embargo, como ha visto, si algo sale mal, como un error en su programa, esa declaración no se ejecutará y la ventana se cerrará sin que usted pueda ver lo que salió mal. Es posible que le resulte más fácil utilizar un indicador de comandos o IDLE.

Utilice un indicador de comando

Cuando esté mirando la ventana de la carpeta que contiene su programa de Python, mantenga presionada la tecla Mayús y haga clic con el botón derecho en cualquier parte del área de fondo blanco de la ventana. El menú que aparece debería contener una entrada "Abrir ventana de comandos aquí". (Creo que esto funciona en Windows Vista y Windows 7.) Esto abrirá una ventana del símbolo del sistema que se verá así:

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:/Users/Weeble/My Python Program>_

Para ejecutar su programa, escriba lo siguiente (sustituyendo el nombre de su script):

python myscript.py

... y presiona enter. (Si recibe un error de que "python" no es un comando reconocido, consulte http://showmedo.com/videotutorials/video?name=960000&fromSeriesID=96 ) Cuando su programa termina de ejecutarse, ya sea que se complete con éxito o no, la ventana permanecerá abierto y volverá a aparecer el símbolo del sistema para que escriba otro comando. Si desea ejecutar su programa nuevamente, puede presionar la flecha hacia arriba para recuperar el comando anterior que ingresó y presionar intro para ejecutarlo nuevamente, en lugar de tener que escribir el nombre del archivo cada vez.

Usar IDLE

IDLE es un editor de programas simple que viene instalado con Python. Entre otras características puede ejecutar tus programas en una ventana. Haga clic derecho en su archivo .py y elija "Editar en IDLE". Cuando su programa aparezca en el editor, presione F5 o elija "Ejecutar módulo" en el menú "Ejecutar". Su programa se ejecutará en una ventana que permanecerá abierta después de que finalice su programa, y ​​en la cual puede ingresar comandos de Python para ejecutarse inmediatamente.


En Python 3.xx solo necesitas input() no raw_input()


Esto funciona en Python 3.xy 2.x:

# Fix Python 2.x. try: input = raw_input except NameError: pass print("Hi " + input("Say something: "))


La solución de Timmerman funciona muy bien cuando se ejecuta el código, pero si no desea obtener errores de Undefined name definidos al usar pyflakes o una impresora similar, puede usar lo siguiente:

try: import __builtin__ input = getattr(__builtin__, ''raw_input'') except (ImportError, AttributeError): pass


Probablemente no sea la mejor solución, pero antes de venir aquí, simplemente hice esto sobre la marcha para seguir trabajando sin tener un breve descanso del estudio.

def raw_input(x): input(x)

Luego, cuando ejecuto raw_input(''Enter your first name: '') en el script en el que estaba trabajando, lo captura como lo hace input() .

¡Puede haber una razón para no hacer esto, que no he encontrado todavía!


Una forma confiable de abordar esto es

from six.moves import input

six es un módulo que repara muchos de los puntos de dolor de base de código común 2/3.