文档章节

如何让python idle有命令自动补全和查看历史记录的方法

happyliferao
 happyliferao
发布于 2016/02/16 14:49
字数 333
阅读 5.4K
收藏 0

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
importreadline
importrlcompleter
importatexit
importos
# tab autocomplete
readline.parse_and_bind(‘tab: complete')
# history file
histfile=os.path.join(os.environ['HOME'], ‘.pythonhistory')
try:
readline.read_history_file(histfile)
exceptIOError:
pass
atexit.register(readline.write_history_file, histfile)
delos, histfile, readline, rlcompleter

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

复制代码 代码如下:

export PYTHONSTARTUP=/home/yurii/.pythonstartup

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

© 著作权归作者所有

happyliferao
粉丝 6
博文 85
码字总数 60147
作品 0
顺义
QA/测试工程师
私信 提问
加载中

评论(0)

Python IDLE工具快捷键

文档编辑快捷键 Alt+/ 自动补全代码(查找编辑器内已经写过的代码来补全) Ctrl+Shift+space 补全提示(默认与输入法冲突,修改之) (方法:Options->configure IDLE…->Keys-> force-open-com...

虎皮喵的喵
2019/08/21
0
0
【296】Python 默认 IDE 修改

参考:找回Python IDLE Shell里的历史命令(用上下键翻历史命令怎么不好用了呢?) 参考:Python IDLE快捷键一览 参考:Python IDLE 自动提示功能 参考:如何让python idle自动补全代码 虽然...

osc_162cn79f
2018/01/24
2
0
python学习-ipython和pyenv

一、ipython ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以...

羊草
2018/08/01
0
0
4.Python IDLE使用方法详解(包含常用快捷键)

在安装 Python 后,会自动安装一个 IDLE,它是一个 Python Shell (可以在打开的 IDLE 窗口的标题栏上看到),程序开发人员可以利用 Python Shell 与 Python 交互。 本节将以 Windows7 系统中...

osc_cmsehuqh
2019/12/18
5
0
详细讲解IPython 教你一小时快速掌握

是一个的交互式,比默认的好用得多,支持变量自动补全,自动缩进,支持命令,内置了许多很有用的功能和函数。学习将会让我们以一种更高的效率来使用。同时它也是利用Python进行科学计算和交互...

osc_j89isia8
2019/10/25
3
0

没有更多内容

加载失败,请刷新页面

加载更多

一言难尽,Jpa这个功能差点让我丢了工作

故事背景 前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。 故事细节 在 Spring Boot 中使用 jpa 来操作数据库,jpa 就不做详细的介绍了,相...

osc_axe50nd6
1分钟前
0
0
Link Cut Tree

//知识点 : LCT /*By:Luckyblock*/#include <cstdio>#include <ctype.h>#include <algorithm>#define ls (t[x].son[0])#define rs (t[x].son[1])const int kMaxn = 1e5 + 10;//===......

osc_q5urtsdm
3分钟前
11
0
【问题】Could not locate PropertySource and the fail fast property is set, failing

这是我遇到的问题 Could not locate PropertySource and the fail fast property is set, failing springcloud的其他服务读取不了配置中心得配置文件出错,原因是配置中心的一个配置文件有s...

osc_z9jr2tjo
4分钟前
5
0
Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(四)

在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证。在本讲中,我们...

osc_doeya1ck
5分钟前
11
0
[推荐]大量 Blazor 学习资源(一)

前言 / Introduction Blazor 是什么? Blazor 允许您使用 C# 而不是 JavaScript 构建交互式 Web UI。 Blazor 应用由使用 C#、HTML 和 CSS 实现的可重用 Web UI 组件组成。客户端和服务器代码...

osc_3r4js8qy
6分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部