python - 在单行命令行中执行多行语句

我正在使用带有 -c 的 Python 来执行单行循环,即:

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 .

https://stackoverflow.com/questions/2043453/

相关文章:

linux - 哪个更好,curl 还是 wget?

datetime - 组合 datetime.date 和 datetime.time 对象的 Py

linux - 使用 sudo 时找不到命令

python - Django:为什么有些模型字段会相互冲突?

linux - 如何使用 gcc/cmake 在 64 位 linux 机器上编译 32 位二进制文

linux - 如何使用文件的行作为命令的参数?

python - 将 [key1,val1,key2,val2] 转换为字典?

python - 在没有运行 X 服务器的情况下生成 matplotlib 图

linux - 如何在linux中列出空文件夹

python - 如何导入上面目录中的 Python 类?