【发布时间】:2015-08-24 11:09:15
【问题描述】:
我正在直接从 bash 执行 Python (2.6.6) 命令,如下所示:
bash-4.1$ python -c "for i in range(4) : print('a')"
哪个输出
a
a
a
a
但是,当我在 for 循环之前添加一些内容时,我得到一个 SyntaxError:
bash-4.1$ python -c "myChar = 'a'; for i in range(4) : print(myChar)"
File "<string>", line 1
myChar = 'a'; for i in range(4) : print(myChar)
^
SyntaxError: invalid syntax
不管我在分号前放了什么。不过,
bash-4.1$ python -c "i = 1; print i"
工作得很好。
知道这里发生了什么吗?
【问题讨论】:
-
Python 有大量空白,您不能使用
;将任意语句放在一起。这就像问为什么用分号替换一些花括号时为什么 C sn-p 无法工作。 -
要让你的命令生效,你可以这样做
python -c $'myChar=\'a\'\nfor i in range(4): print(myChar)' -
@Songy Phew,太丑了。
-
见鬼,但它完成了工作;P
-
使用丑陋的“完成工作”不在Zen of Python:“美丽胜于丑陋。”