Me preguntaba si alguien tiene sugerencias para escribir una llamada input() compatible con versiones anteriores para recuperar una ruta de archivo?Llamadas de entrada compatibles con versiones anteriores en Python
En Python 2.x, raw_input funciona bien para la entrada como/ruta/a/archivo. Usar la entrada funciona bien en este caso para 3.x, pero se queja en 2.x debido al comportamiento de evaluación.
Una solución es comprobar la versión de Python y, sobre la base de la versión, ya sea input
mapa o raw_input
a una nueva función:
if sys.version_info[0] >= 3:
get_input = input
else:
get_input = raw_input
Estoy seguro de que hay una mejor manera de hacer esto sin embargo . ¿Alguien tiene alguna sugerencia?
Si está escribiendo código que se va a ejecutar bajo Python 2 y Python 3 sin usar 2to3, desea que esta: http://pypi.python.org/pypi/six Ya se ha resuelto muchas cosas como esto para usted. También funciona como buen ejemplo de cómo resolver este tipo de problemas (aunque de hecho no lo haga por entrada()). Otras formas de hacer que está utilizando 2to3. Ver http://python3porting.com/strategies.html –