Python3与输入函数和CJK的意外视觉交互

时间:2016-07-03 13:36:12

标签: python macos python-3.x osx-elcapitan

抱歉我的英语不好,这不是我的第一语言。

我有一个Python3文件,其内容只是

print(input(">"))

当我在zsh或bash上运行它并写入hangul并使用我的退格键时,会发生意外行为。

如果我按"ㄴ"三次,后退三次,我留下了这个:

>ㄴ  

无论我按退格键多少次,"ㅁ"不会被删除。同样,如果我最初写"동"

>동

然后删除它,有一个不可移除的空格和我之后输入的任何其他字符看起来像

> 가나다

这似乎只是一个视觉问题,好像我要输入"ㄴㄴㄴㄴㄴ"然后点击退格直到没有显示任何变化,我将留下

>ㄴㄴ

接下来,我输入"동"并点击进入。

>ㄴㄴ 동

会导致

仅打印。

最后一个奇怪的是它只发生在从python文件运行input()时。如果我通过交互式shell完成所有这些操作,则不会发生任何异常情况。

这是在我运行El Capitan的MBP上发生的,这似乎是所有CJK键盘的问题,我用中文和日文键盘进行了一些小测试,它显示出类似的行为。

有谁能告诉我为什么会这样,以及如何阻止它?

1 个答案:

答案 0 :(得分:-1)

终端的行为,打印(输入(“>”))应该有效