欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

给Python IDLE加上自动补全和历史功能

程序员文章站 2022-06-13 19:25:58
许多时候,我们使用python,并不用写一个程序,一些不复杂的任务,我更喜欢在 idle(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利...

许多时候,我们使用python,并不用写一个程序,一些不复杂的任务,我更喜欢在 idle(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利的地方,最主要的就是,不能用tab自动补全,不能记忆 上一次输入的命令(没办法,谁让我们在shell下习惯了呢)。
这时候,我们可以直接使用python启动脚本,解决这个问题。

启动脚本的程序非常简单,这里不多说明,只给出代码:

import readline
import rlcompleter
import atexit
import os
# tab autocomplete
readline.parse_and_bind(‘tab: complete')
# history file
histfile = os.path.join(os.environ['home'], ‘.pythonhistory')
try:
readline.read_history_file(histfile)
except ioerror:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter 

完成之后,我们把它保存为.pythonstartup,存放在自己的目录下(譬如/home/yurii),再将pythonstartup变量指向刚才放的地址,就可以了。最省事的办法是在bashrc中添加这样一行:

复制代码 代码如下:

export pythonstartup=/home/yurii/.pythonstartup

这样,不但增加了tab的自动补全功能,而且重新启动idle时,通过上下键,还能翻到上次输入的命令,非常方便。