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

简述

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

  • 简述
  • 基本现象
  • 解决方式

版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820

基本现象

进入 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。

时间: 2024-11-10 10:39:38

解决 Python shell 中 Delete/Backspace 键乱码问题的相关文章

如何解决Win7电脑中的关机键不见了

  方法一. 1.在运行对话框中输入"gpedit.msc",回车打开组策略窗口; 2.接着在打开的组策略窗口中,双击"管理模板""任务栏和「开始」菜单",然后双击右侧的"删除和阻止访问'关机'命令"; 3.在弹出来的"删除和阻止访问'关机'命令属性"窗口中,切换到"设置"选项卡,选择"已禁用",然后确定即可. 方法二. 1.点击开始菜单中的运行,并输入"r

《Python数据科学实践指南》一1.4 使用Python shell调试程序

1.4 使用Python shell调试程序 Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力.比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序.或者直接在Python shell中探索原始数据文件中的数据,变换数据的结构,执行计数.去重.分组等操作.并且可以随时查看前辈们留给我们的建议,比如在Python shell中输入import this,将导入Python中一个名为

《Python数据科学实践指南》——1.4 使用Python shell调试程序

1.4 使用Python shell调试程序 Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力.比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序.或者直接在Python shell中探索原始数据文件中的数据,变换数据的结构,执行计数.去重.分组等操作.并且可以随时查看前辈们留给我们的建议,比如在Python shell中输入import this,将导入Python中一个名为

《Python数据科学实践指南》——1.4节使用Python shell调试程序

1.4 使用Python shell调试程序Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力.比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序.或者直接在Python shell中探索原始数据文件中的数据,变换数据的结构,执行计数.去重.分组等操作.并且可以随时查看前辈们留给我们的建议,比如在Python shell中输入import this,将导入Python中一个名为t

如何解决Linux中sqlplus退格和上翻键乱码问题

在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能, 非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 tar -zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure make

tomcat-Tomcat服务器中url中文传值乱码,急,求解决。。。

问题描述 Tomcat服务器中url中文传值乱码,急,求解决... 上海 在servlet中获取城市,设置了编码为UTF-8,然后跳转带页面, <% String city=(String)session.getAttribute("city"); %> <%=city %>切换城市 不管选择哪个城市,最终显示在网页都是??,求各位大神给出个解决办法.. 解决方案 URL中文乱码服务器端(tomcat)解决方法 解决方案二: java URLEncoder和UR

360浏览器中按Backspace退格键不能删除数据,返回上一页

编者注:本文已获原创加分,请作者继续努力! 我最近才开始使用360浏览器,在发布文章时打错了字,想按Backspace退格键删除,结果返回上一页了.记得以前用低版本chrome的时候,chrome是把Backspace设为返回上一页的快捷键的,原来360浏览器也有这个快捷键! 目前在新版本的chrome浏览器中连续按Backspace键,chrome会提示按"Alt + ←"来返回上一页.即:新版本chrome不再把Backspace键做为返回上一页的快捷键,恢复了它本来的功能:删除数

js禁用回退键[backspace键]浏览历史跳转的解决办法

在做公司的CMS的时候出现了一些js的问题,其中有一个就是在页面非输入框中按下回退键[backspace键]时页面会跳转到上一页,但是上一页加载失败,说会话已过期, 问题描述到此结束. 解决办法: 第一直觉就是上网搜答案,但是结果不理想. 第二上论坛上看看有没有解决办法,到是找到一个类似的问你 '在IE里按backspace键时如何知道是发生在input还是在中文输入法框?' 地址:http://www.iteye.com/problems/3272 问题类似,但是不是解决办法,还好的就是我根据

Javamail中的常见中文乱码问题与解决办法(综合)

解决|问题|中文|中文乱码 在使用javamail api开发邮件服务系统时,我们常常会碰到很多中文乱码问题,下面就分别介绍如何解决这些问题. 1.发送名称含中文的附件到邮件服务器,用别的邮件接收程序接收到的附件名显示为乱码 解决办法:在调用MimeBodyPart的setFileName()时使用Base64编码.例如: BASE64Encoder enc = new BASE64Encoder();//该类位于jre/lib/rt.jar中 //fds为FileDataSource实例 mb