进入Python命令行使用Backspace和方向键出现乱码

进入Python命令行使用Backspace和方向键出现乱码

Linux服务器版本:CentOS 7.2

Python版本:2.7.12

问题描述:在腾讯云服务器安装好Python后,输入python进入命令行,然后输入内容后,想通过Backspace进行回退删除输入错误的内容显示^H ,以及通过方向键移动光标时显示^[[A 等乱码!

解决方案:

明确自己的系统有readline库,可以直接输入 yum -y install readline 进行验证,如果没有则会自动安装,如果已经有了,会出现下图提示:
然后再验证是否有readline的开发包,如果没有输入 yum install readline-devel.x86_64进行安装;
安装好上述之后,重现进入Python的解压文件夹中进行编译:
./configure
make
make install
最后再次进入Python命令行, Backspace和方向键就可以正常使用了,问题圆满解决!

https://my.oschina.net/aibinxiao/blog/1236076

命令行输入 Backspace 出现 `^H` 的原因可能是因为当前终端的 Backspace 键设置不正确,或者当前终端的 Backspace 键与远程服务器的终端类型不匹配导致的。 你可以尝试修改终端的 Backspace 键设置,将其设置为正确的值。通常情况下,Backspace 键应该被设置为发送 ASCII 字符 0x08。你可以使用 `stty` 命令来设置 Backspace 键的值,比如: ``` stty erase ^? ``` 其中 `^?` 表示 ASCII 字符 0x08,也就是 Backspace 键的值。 如果你使用的是一些常见的终端,比如 `xterm` 或者 `gnome-terminal`,它们通常已经设置好了 Backspace 键的值,你不需要手动修改。 如果你在连接远程服务器时出现了这个问题,可能是因为远程服务器的终端类型与你的终端类型不匹配导致的。你可以尝试在连接远程服务器时指定正确的终端类型,比如: ``` ssh -t yourname@yourserver.com bash --login ``` 其中 `-t` 参数指定了终端类型为 `bash`,你可以将其修改为与你的本地终端类型匹配的值。 如果上述方法都不能解决问题,你可以尝试修改当前终端的 Backspace 键绑定。比如在 Bash 终端中,你可以使用 `bind` 命令来修改 Backspace 键的绑定,比如: ``` bind '\e[3~':delete-char ``` 这个命令将 Backspace 键的绑定修改为 `delete-char`,也就是删除当前光标前面的一个字符。你可以根据自己的需要修改绑定的按键和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值