¿Cómo se lee desde stdin?
Estoy intentando hacer algunos de los retos de code golf, pero todos ellos requieren que la entrada se tome de stdin
. ¿Cómo puedo conseguirlo en Python?
1378
3
Estoy intentando hacer algunos de los retos de code golf, pero todos ellos requieren que la entrada se tome de stdin
. ¿Cómo puedo conseguirlo en Python?
Puede utilizar el módulo
fileinput
:fileinput
recorrerá todas las líneas de la entrada especificada como nombres de archivos dados en los argumentos de la línea de comandos, o la entrada estándar si no se proporcionan argumentos.Nota:
línea
contendrá una nueva línea al final; para eliminarla utiliceline.rstrip()
.Hay varias formas de hacerlo.
sys.stdin
es un objeto similar a un fichero sobre el que puedes llamar a las funcionesread
oreadlines
si quieres leerlo todo o quieres leerlo todo y dividirlo por una nueva línea automáticamente. (Necesitasimportar sys
para que esto funcione).Si quieres preguntar al usuario por la entrada, puedes usar
raw_input
en Python 2.X, y sóloinput
en Python 3.Si en realidad sólo quieres leer las opciones de la línea de comandos, puedes acceder a ellas a través de la lista sys.argv.
Probablemente encontrarás este artículo de Wikibook sobre E/S en Python como una referencia útil también.
Esto es de Learning Python:
En Unix, puedes probarlo haciendo algo como
En Windows o DOS, harías: