我正在将Python与-c结合使用以执行单线循环,即:

$ python -c "for r in range(10): print 'rob'"

这很好。但是,如果我在for循环之前导入模块,则会收到语法错误:

$ python -c "import sys; for r in range(10): print 'rob'"
  File "<string>", line 1
    import sys; for r in range(10): print 'rob'
              ^
SyntaxError: invalid syntax

任何想法如何解决?

对我来说,将其作为一个单行放置非常重要,这样我才能将其包含在Makefile中。

最佳答案

你可以做

echo -e "import sys\nfor r in range(10): print 'rob'" | python

或不带管道:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"

或者
(echo "import sys" ; echo "for r in range(10): print 'rob'") | python

或@ SilentGhost's answer/@Crast's answer

关于python - 在单行命令行中执行多行语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2043453/

10-09 08:32