使用python -c开关的长程序

0fn*_*fnt 4 python command-line

我想使用python来处理我一直在使用bash做的事情.是否可以将-c开关用于长程序,例如带有两个语句的for循环?这将让我直接从命令行使用python,就像bash或php一样.

谢谢.

编辑:不知道我是如何错过它,只是做一个python -c'然后按Enter键做我想做的事情.我尝试了很多变化,一个使用\但是没有用,所以我问了这个问题.例如

$python -c '
>print "x"
>for i in range(3):
>   print "y" '
Run Code Online (Sandbox Code Playgroud)

做我想做的事,虽然罗德的回答看起来也不错.

Ale*_*lli 6

如果您的底层shell是bash,没问题,因为如果打开'(引用)尚未关闭,您可以跨多行继续参数- 例如:

$ python -c'for x in range(3):
>   if x!=1:
>     print x'
0
2
$
Run Code Online (Sandbox Code Playgroud)

>是bash的默认PS2,"多行继续提示",从作为杰出的$,AKA PS1,正常的"开始输入命令"的提示.

如果您不能使用这种多行连续,则多个嵌套块语句(例如if循环内)可能会出现问题.


Rod*_*Rod 5

您可以使用复合语句,使用分号分隔语句,例如

python -c "for x in range(0,3) : print x; print x
Run Code Online (Sandbox Code Playgroud)

然后输出将是:

0
0
1
1
2
2
Run Code Online (Sandbox Code Playgroud)

请参阅http://docs.python.org/reference/compound_stmts.html