2009-02-19 12 views

risposta

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

Basta aggiungere i due punti.

Per affrontare la questione nei commenti:

Come posso fare questo lavoro però? python -c "calendario di importazione; calendar.prcal di stampa (2009), per x nella gamma (1,10): print x"

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

Come si può vedere è piuttosto grave. Non possiamo importare prima del ciclo. Per ovviare a ciò controlliamo se x è alla prima iterazione del ciclo, in tal caso eseguiamo l'importazione.

Altri esempi here.

+0

@Luis: devi aggiungere comunque i due punti, anche quando non corri da una riga di comando. – nosklo

+0

Come posso far funzionare questo? python -c "import calendar; print calendar.prcal (2009); per x nel range (1,10): print x" – Luis

+0

+1 solo per quel collegamento! –

3

Non uno script Python, ma potrebbe aiutare:

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

Non si vuole proprio questo?

python -c “per x nella gamma (1,10): print x”

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

Ricordate il ":" !!

1

Ecco una soluzione che non richiede di inserire un'istruzione dopo il colon, che non è considerata molto elevata.

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

Cosa c'è di più pitone di una lista di comprensione!

+0

Disclaimer: In realtà non mi piace affatto. Ho messo le dichiarazioni dopo i due punti più del dovuto. Probabilmente perché ho un monitor widescreen. – SingleNegationElimination

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

ma cosa c'è di sbagliato in un "vero" script python? (sai, un foo.py lanciato tramite "python foo.py") Se ti piacciono le one-liner, ti suggerisco perl :)

Problemi correlati