从bash调用Python中的for循环
我直接从bash执行Python(2.6.6)命令,如下所示:从bash调用Python中的for循环,python,bash,for-loop,Python,Bash,For Loop,我直接从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 myCha
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
很好用
知道这里发生了什么吗?如果您想在shell脚本中编写Python代码,请使用
$ python3.4 <<EOF
myChar = 'a'
for i in range(4):
print(myChar)
EOF
阅读和了解Python风格。Python有大量的空白,您不能使用
将任意语句放在彼此相邻的位置代码>。这就像问如果你用分号替换一些大括号,为什么C代码段不能工作一样。要让你的命令正常工作,你可以对范围(4):print(myChar)
@Songy-Phew中的i执行类似于python-C$'myChar=\'a\'\n的操作。这很难看。见鬼,是的,但它完成了任务;使用“丑陋”设置“完成的工作”不在“美丽胜于丑陋”中。这是一个“here doc”,而不是一个“here string”。这里的字符串应该是python
$ python3.4 <<EOF
myChar = 'a'
for i in range(4):
print(myChar)
EOF
a
a
a
a