syntax for -c cmd
Fredrik Lundh
fredrik at pythonware.com
Fri May 12 02:47:05 EDT 2006
Edward Elliott wrote:
> Now this is interesting. I broke the line up into separate arguments and it
> seemed to work fine:
>
> $ python -c 'if 1==1: print "yes"' 'else: print "no"'
> yes
>
> But then I tested the else branch and it produces no output:
> $ python -c 'if 1==0: print "yes"' 'else: print "no"'
> $
>
> If putting the else in a separate arg unbinds it from the if, I would expect
> a syntax error. If OTOH naked elses are allowed on the command line for
> some odd reason, then this shouldn't happen:
>
> $ python -c 'else: print "no"'
> File "<string>", line 1
> else: print "no"
> ^
> SyntaxError: invalid syntax
>
> What's with the silent failure in the two-arg version? If the else arg is
> syntactically acceptable, why doesn't it behave as expected?
hint:
$ python -c 'import sys; print sys.argv' 'else: print "no"'
</F>
More information about the Python-list
mailing list