python如何一行行运行代码,在单行命令行中执行Python多行语句

I'm using Python with -c to execute a one-liner loop, i.e.:

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

This works fine. However, if I import a module before the for loop, I get a syntax error:

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

File "", line 1

import sys; for r in range(10): print 'rob'

^

SyntaxError: invalid syntax

Any idea how this can be fixed?

解决方案

you could do

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

or w/out pipes:

python -c "exec(\"import sys\\nfor r in range(10): print 'rob'\")"

or

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

你可能感兴趣的:(python如何一行行运行代码)