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

使用python-c在命令行中执行作为字符串传递的python命令,python,Python,是否可以使用python-c执行作为字符串传递的python命令?有人能举个例子吗。对于单个字符串,您可以使用python-c。但对于问题所问的字符串,必须将其传递给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)] $python导入系

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

对于单个字符串,您可以使用
python-c
。但对于问题所问的字符串,必须将其传递给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)]
$python导入系统
>打印系统版本
>EOF
2.7.3(默认,2012年4月13日,20:16:59)
[GCC 4.6.3 20120306(Red Hat 4.6.3-2)]

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

python3-c“打印(5)”

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


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

您能与我们分享您迄今为止的尝试吗?实际上,我正在寻找如何使用python-c“”格式。我找到了答案。只要把这个复制粘贴到终端上。python-c“import sys;x='hello world';print x;”这是一个字符串。如果您想要字符串,则需要将它们输入stdin。
python3-c“import sys;print(sys.path)”
更简单。@mattmc3不能用分号结束块(缩进会减少)。所以它更有限;例如,您不能创建一个函数,然后实际调用它,或者使用if-else,甚至if后面跟着无条件代码。但(在可能的情况下)这更简单。