[pyar] Hay alguna manera mas facil de hacer esto en py3?

Roberto Alsina ralsina en netmanagers.com.ar
Dom Feb 10 10:32:25 ART 2013


Estoy tratando de hacer algo que en python2 es fácil, de manera que ande
en python 2 y 3.

El original:

foo = raw_input("foo? ")

En python 3 eso es:

foo = input("foo? ")

Obviamente no puedo usar input en python 2! Así que digo, lo hago un
poco mas a mano. Suponiendo que tengo print_function en python2, puedo
hacer esto:

print("foo? ", end="")
foo=sys.stdin.read()

Y funciona bárbaro. Pero en python3 no se ve el "foo?" porque no flushea
stdin.
Entonces, en python 3.3 tengo el parametro opcional flush=True, pero
quiero que
ande en python 3.2 que es lo que hay en Ubuntu.

Entonces, en este momento estoy haciendo esto:

print("foo? ", end="")
sys.stdin.flush()
foo=sys.stdin.read()

Que es horroroso. Ideas?



More information about the pyar mailing list