2009-02-19 26 views

Respuesta

12
python -c "for x in range(1,10): print x" 

Solo agregue los dos puntos.

Para abordar la cuestión en los comentarios:

¿Cómo puedo hacer que esto funcione sin embargo? python -c "calendario de importación; calendar.prcal de impresión (2009); for x in range (1,10): print x"

python -c "for x in range(1,10): x==1 and __import__('calendar').prcal(2009); print x;" 

Como se puede ver que es bastante grave. No podemos importar antes del ciclo. Para evitar esto, verificamos si x está en la primera iteración en el ciclo, si es así, hacemos la importación.

Más ejemplos here.

+0

@Luis: necesitas agregar los dos puntos de todos modos, incluso cuando no se está ejecutando una línea de comando. – nosklo

+0

¿Cómo puedo hacer que esto funcione? python -c "import calendar; print calendar.prcal (2009); para x en el rango (1,10): print x" – Luis

+0

+1 solo para ese enlace! –

3
No

un script en Python, pero podría ayudar:

for /L %i in (1, 1, 10) do echo %i 
1

no hacer lo que desea esto?

python -c “for x in range (1,10): print x”

3
python -c "for x in range(1,10): print x" 

Recuerde que el ":" !!

1

Aquí hay una solución que no requiere poner una declaración después de los dos puntos, que no se considera muy alta.

python2 -c "print '\n'.join([str(x) for x in range(1,10)])" 

¡Más aún pythonic que una lista de comprensión!

+0

Descargo de responsabilidad: en realidad, no me gusta esto. Puse declaraciones después de dos puntos más de lo que debería. Probablemente porque tengo un monitor de pantalla ancha. – SingleNegationElimination

0
python -c 'print "\n".join(map(str, range(1,10)))' 

pero ¿qué hay de malo en un script "real" de python? (ya sabes, un foo.py lanzado a través de "python foo.py") Si realmente te gustan las frases ingeniosas, te sugiero perl :)

Cuestiones relacionadas