我正在尝试使用echo将一个字符串输入到Python one liner中,然后在字符串上执行Caeasar的Cipher。
我的导师给我的一个例子就是这个。
~ $ echo "Hello Holly." | python -c "import sys; [print(line) for line in sys.stdin]"
输出结果为:Hello Holly.
当我在“get get:
”中键入命令时File "<string>", line 1
import sys; [print(line) for line in sys.stdin]
^
SyntaxError: invalid syntax
如果有人可以向我指出错误,我将不胜感激。我在Centos 6上使用Python 2.6。
感谢。
答案 0 :(得分:5)
在Python 2中print
是一个语句,而不是一个函数。试试这个:
echo "Hello Holly." | python -c "import sys; print [line for line in sys.stdin]"
或者,您可以使用以下内容打印纯文本(感谢@mgilson):
echo "Hello Holly." | python -c "import sys; print ' '.join([line for line in sys.stdin])"
答案 1 :(得分:0)
当你的教练使用python 3时,看起来你正在使用python2。