示例 - 任何 bash 关键字(例如 else
或 in
)也会导致这种情况:
$ python -c 'import sys;for p in sys.path:print p'
File "<string>", line 1
import sys;for p in sys.path:print p
^
SyntaxError: invalid syntax
双引号不能解决问题。
最佳答案
这与 for
是 Bash 关键字这一事实无关;就是这样
import sys;for p in sys.path:print p
不是有效的 Python 语法。如果您不带任何参数运行 python
然后在提示符下键入它,您会得到同样的错误。
您可以通过添加换行符来修复它:
import sys
for p in sys.path:print p
你可以在你的 Bash 命令中这样写:
python -c ' import sys
for p in sys.path:print p
'
或者这个:
python -c $'import sys\nfor p in sys.path:print p'
(其中 $'...'
是一种 Bash 语法,允许在字符串中使用类似 C 的转义序列,例如 \n
用于换行)。
关于python - 如何转义与 python 关键字匹配的 bash 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14720404/