2009-02-19 3 views

ответ

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

Просто добавьте двоеточие.

Для решения вопроса в комментариях:

Как я могу сделать эту работу, хотя? питон -c «календарь импорта, печать calendar.prcal (2009), для й в диапазоне (1,10): печать х»

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

Как вы можете видеть, что это довольно грубо. Мы не можем импортировать до цикла. Чтобы обойти это, мы проверяем, есть ли x на первой итерации в цикле, если мы делаем импорт.

Другие примеры here.

+0

@ Luis: вам нужно добавить двоеточие в любом случае, даже если оно не работает из командной строки. – nosklo

+0

Как я могу сделать эту работу? python -c "import calendar; print calendar.prcal (2009); for x in range (1,10): print x" – Luis

+0

+1 только для этой ссылки! –

3

Не питон скрипт, но может помочь:

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

Не вы просто хотите этого?

питон -c «для й в диапазоне (1,10): печать х»

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

Помните ":" !!

1

Вот решение, которое не требует размещения инструкции после двоеточия, что не считается очень высоким.

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

Что еще более питоническое, чем понимание списка!

+0

Отказ от ответственности: Мне не нравится это лучше. Я делал заявления после двоеточия больше, чем следовало бы. Наверное, потому что у меня широкоэкранный монитор. – SingleNegationElimination

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

но что случилось в «реальном» скрипте python? (вы знаете, foo.py запущен через «python foo.py») Если вам действительно нравятся однострочные, я предлагаю perl :)

Смежные вопросы