Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从bash调用Python中的for循环_Python_Bash_For Loop - Fatal编程技术网

从bash调用Python中的for循环

从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执行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
很好用

知道这里发生了什么吗?

如果您想在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