您的位置:首页 > 运维架构 > Shell

解决 Python shell 中 Delete/Backspace 键乱码问题以及自动补全问题

2017-09-29 12:01 716 查看

乱码问题

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

1.安装readline相关模块

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。

自动补全

编写tab补全脚本:

[root@node1 ~]# cat /usr/local/python-2.7/lib/python2.7/site-packages/Tab.py
import readline, rlcompleter; readline.parse_and_bind("tab: complete")
[root@node1 ~]#


修改系统环境变量:

[root@node1 ~]# echo 'export PYTHONSTARTUP=/usr/local/python-2.7/lib/python2.7/site-packages/Tab.py ' >> /etc/profile
[root@node1 ~]# source /etc/profile


注:

PYTHONSTARTUP:重要的Python环境变量之一,包含了在每次启动的解释器时执行Python源代码的初始化文件的路径。这个文件通常命名为.pythonrc.py。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: