kev*_*nmm 6 python command-line conditional
我试图弄清楚如何将以下条件语句传递给python解释器的命令选项(-c).
if sys.maxsize > 2**32:
print '64'
else:
print '32'
64
Run Code Online (Sandbox Code Playgroud)
但是,我不断得到语法错误,如下所示:
>python -c "import sys; if sys.maxsize > 2**32: print '64' else: print '32';"
File "<string>", line 1
import sys; if sys.maxsize > 2**32: print '64' else: print '32';
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我发现很难找到这种用法的好例子.我一定在这里错过了一些大事......
在(非常)简短的搜索之后,我无法在任何地方找到这个,但似乎-c严格地采用表达式(即,可以出现在赋值的RHS上的东西),而不是声明.要在你的情况下解决这个问题,你需要做两件事:
这给你:
lvc@tiamat:~$ python -c "from __future__ import print_function; import sys; print('64' if sys.maxsize > 2**32 else '32')"
64
Run Code Online (Sandbox Code Playgroud)