python支持tab补全与历史命令

Python 命令行默认是不支持tab补全与上下查看历史命令的,而IPython是支持这一功能的,那如何让Python支持上述两个功能呢?

可以通过设置python启动时执行指定脚本来添加这两个功能。通过配置环境变量PYHTONSTARTUP可以指定启动时执行的脚本。

在当前用户目录下创建.pythonstartup文件,文件内容如下:

# python startup file
import readline
import rlcompleter
import atexit
import os

# tab completion
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                                     

然后在~/.bashrc中添加环境变量:

export PYTHONSTARTUP=~/.pythonstartup

然后重新读取环境变量

source ~/.bashrc

大功告成,读者可以自己试下是否支持tab补全,与上下翻看历史命令了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木制robot技术杂谈

Python无法使用curses库解决方案

错误信息 ImportError: No module named '_curses' 运行环境 1.ubuntu 14.04 2.python 3.5 解决...

44590
来自专栏阮一峰的网络日志

Linux 的启动流程

半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。 那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管...

32650
来自专栏程序员互动联盟

【专业技术】linux启动流程剖析

半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。 那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管...

37370
来自专栏雪地二货笔记库

nodejs学习笔记(1)-安装配置和helloworld

关于nodejs的概念,查了查官网和博客,说他不是一门语言也不是库也不是框架,是一个js的运行环境。 这个概念有些模糊,运行环境这个词让我有些不明所以,又往后查...

16430
来自专栏Golang语言社区

Linux常用命令速查备忘

PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shut...

38690
来自专栏草根专栏

Angular CLI 简介

如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文.

1.4K110
来自专栏我的博客

Sed详解

1、说明 sed 一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令...

330100
来自专栏屈政斌的专栏

【腾讯云的1001种玩法】centos 7 部署 dotnetcore + Angular2 实践

本文主要讲述了使用腾讯云主机,在centos 7 部署 dotnetcore + Angular2 的实践过程,该项目目前只是用于学习 dotnetcore ...

2.7K10
来自专栏小程序之家

如何实现小程序与服务器通信

网络请求方式较多,大家可以参考如何在小程序中实现文件上传下载和如何在小程序中实现 WebSocket 通信实现更多与服务器请求。

2.3K50
来自专栏编程直播室

Angular 2 库

21350

扫码关注云+社区

领取腾讯云代金券