使用python -c执行在命令行中作为字符串传递的python命令

时间:2012-05-26 18:01:23

标签: python

是否可以使用python -c执行作为字符串传递的python命令?可以有人举个例子。

3 个答案:

答案 0 :(得分:28)

您可以使用-c让Python执行字符串。例如:

python3 -c "print(5)"

但是,似乎没有办法使用转义字符(例如\n)。因此,如果您需要,请使用echo -eprintf中的管道。例如:

$ printf "import sys\nprint(sys.path)" | python3

答案 1 :(得分:13)

对于单个字符串,您可以使用python -c。但是对于问题要求的 strings ,你必须将它们传递给stdin:

$ python << EOF
> import sys
> print sys.version
> EOF
2.7.3 (default, Apr 13 2012, 20:16:59) 
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)]

答案 2 :(得分:0)

Python有eval。试试这个剧本。

import sys

str = sys.argv[1]
eval(str)

像这样调用它:

 $ python3 eval.py 'print(1 + 1)'
 2