如何在DOS中使这个单线程工作?

时间:2009-02-19 18:29:30

标签: python command-line

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

我喜欢使用-c的python一个衬里,但是当需要缩进时它是有限的。

有什么想法吗?

6 个答案:

答案 0 :(得分:12)

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

只需添加冒号。

要在评论中解决问题:

  

我怎么能做这个工作呢? python -c“import calendar; print calendar.prcal(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;"

你可以看到它非常糟糕。我们无法在循环之前导入。为了解决这个问题,我们检查x是否在循环的第一次迭代中,如果是,我们进行导入。

更多示例here

答案 1 :(得分:3)

不是python脚本,但可能有所帮助:

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

答案 2 :(得分:3)

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

记住“:”!!

答案 3 :(得分:1)

难道你不想要这个吗?

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

答案 4 :(得分:1)

这是一个解决方案,不需要在冒号之后放置一个声明,这个声明不是很高。

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

比列表理解更加pythonic!

答案 5 :(得分:0)

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

但是“真正的”python脚本出了什么问题? (你知道,通过“python foo.py”启动foo.py) 如果你真的喜欢单行,我建议perl:)

相关问题