Python 命令行输入在按下擦除键时不会删除日文字符

Python command line input doesn't delete japanese characters when pressing the erase key

我有一个命令行 python 应用程序,它从命令行输入中读取日文字符。问题是 'erase' 键不能很好地工作,让我解释一下:

发生的事情是,当我尝试删除一个汉字时,该字符似乎没有被删除:该字符实际上被删除了(我知道这一点是因为我调试过它)但它仍然出现在命令行中。例如,假设我有以下字符:

四つください。

现在,如果我按擦除键 3 次,我得到:

四つくださ

如您所见,只删除了两个字符()。但是,如果我按回车键,脚本会正确解释仅剩下的字符是 四つくだ。所以换句话说,这3个字符实际上被删除了,但是在终端中仍然可见。

我该怎么做才能解决这个问题?

执行以下操作即可解决问题:

# In the terminal:
pip install readline


# In the script
import readline 

不知道是什么解决了这个问题,但确实如此。