为什么在python -c中输入unicode字符会引发异常

时间:2012-08-27 13:24:47

标签: python linux bash shell unicode

如果我将其键入python控制台

>>> ord(u'⚤')

它有效,但是当我尝试将其从bash

中放入python -c
python -c "print ord(u'⚤')"
它扔了:

  File "<string>", line 1
    print ord(u'⚤')
                     ^
SyntaxError: EOL while scanning string literal

有人知道为什么吗?

1 个答案:

答案 0 :(得分:1)

问题是,当您在bash中键入it时,它会覆盖下一个字符,因此'⚤'看起来像'⚤'⚤'.看起来像'⚤.当我复制了什么我输入了显示python -c "print ('⚤'')",但显示为python -c "print ('⚤')",因此它看起来像是正确的代码。

所以我的代码在终端

中看起来像这样
python -c "print ord(u'⚤)"

但我运行的代码就像这样

python -c "print ord(u'⚤')"

因为我从终端的其他地方复制了那个角色,然后用加号2个字符选择我想要的那个和重叠的那个。