当前位置: 首页 > 工具软件 > HShell > 使用案例 >

解决 Python shell 中 Delete/Backspace 键乱码问题

邢臻
2023-12-01

简述

进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符。命令输入错误后只能从头开始,无法删除,让人很头疼。为了便于后期使用,分享一个一劳永逸的方式。

| 版权声明:一去、二三里,未经博主允许不得转载。

基本现象

进入 Python shell,按下 Delete/Backspace 键:

Python 3.5.2 (default, Mar 29 2017, 11:05:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import ^H^H^H^H^H^H

会出现 ^H 字符,无法正常删除,用起来很不方便。

解决方式

方式一:安装 readline 相关模块

查阅文档,发现是因为 readline 相关模块没有安装的原因。readline 是 bash shell 用的库,包含许多使用功能,例如:命令行自动补全。

# yum install readline readline-devel

安装完成后,需要再重新编译安装 Python:

# make
# make install

大功告成,这样以后用起来就方便多了。

方式二:使用 Python 自带的 readline 模块

如果还是不行,可以尝试使用 Python 自带的 readline 模块。切换至 Modules 目录,修改 Setup 文件:

# cd Modules/
# vi Setup

取消文件中 readline 部分对应的注释符:

#readline readline.c -lreadline -ltermcap

然后,再重新编译安装 Python。

 类似资料: