python tab 自动补全
学习python,经常要使用python命令行查找一些不熟悉的使用方法等等,但是python命令行下没有自带tab补全的功能,看见别人写了tab,可以解决特此记下,以备后用
1.创建tab.py文件,内容如下:
#!/usr/bin/env python
# python startup file
import sys
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
2.代码有了,我们还需要将脚本放到python指定的目录下,可以使用sys.path来查看一下
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
一般我们会将这一类代码放在/usr/local/lib/python2.7/dist-packages目录下
3.把tab.py 放到指定目录下
mv tab.py /usr/local/lib/python2.7/dist-packages
4.使用
>>> import tab
>>> sys.
sys.__class__( sys.__subclasshook__( sys.exitfunc( sys.path_importer_cache
sys.__delattr__( sys._clear_type_cache( sys.flags sys.platform
sys.__dict__ sys._current_frames( sys.float_info sys.prefix
sys.__displayhook__( sys._getframe( sys.float_repr_style sys.ps1
sys.__doc__ sys._mercurial sys.getcheckinterval( sys.ps2
sys.__excepthook__( sys._multiarch sys.getdefaultencoding( sys.py3kwarning
sys.__format__( sys.api_version sys.getdlopenflags( sys.pydebug
sys.__getattribute__( sys.argv sys.getfilesystemencoding( sys.setcheckinterval(
sys.__hash__( sys.builtin_module_names sys.getprofile( sys.setdlopenflags(
sys.__init__( sys.byteorder sys.getrecursionlimit( sys.setprofile(
sys.__name__ sys.call_tracing( sys.getrefcount( sys.setrecursionlimit(
sys.__new__( sys.callstats( sys.getsizeof( sys.settrace(
sys.__package__ sys.copyright sys.gettrace( sys.stderr
sys.__reduce__( sys.displayhook( sys.hexversion sys.stdin
sys.__reduce_ex__( sys.dont_write_bytecode sys.long_info sys.stdout
sys.__repr__( sys.exc_clear( sys.maxint sys.subversion
sys.__setattr__( sys.exc_info( sys.maxsize sys.version
sys.__sizeof__( sys.exc_type sys.maxunicode sys.version_info
sys.__stderr__ sys.excepthook( sys.meta_path sys.warnoptions
sys.__stdin__ sys.exec_prefix sys.modules
sys.__stdout__ sys.executable sys.path
sys.__str__( sys.exit( sys.path_hooks
python tab 自动补全的更多相关文章
- Linux python <tab>自动补全
为Python添加交互模式下TAB自动补全以及命令历史功能. 1.获取python目录 [root@localhost ~]# python Python 2.6.6 (r266:84292, Jul ...
- python <tab>自动补全
1.获取python目录[我使用的是64位ubuntu系统] [~$]python Python 2.7.3 (default, Apr 10 2013, 06:20:15) [GCC 4.6.3] ...
- python Tab自动补全命令设置
Mac/Windows下需要安装模块儿 pip install pyreadline pip install rlcompleter pip install readline 注意,需要先安装pyre ...
- Python建立Tab自动补全的脚本
Python建立Tab自动补全的脚本 #!/usr/bin/python #python steup file import sys import readline import rlcomplete ...
- Python-2.7 配置tab自动补全功能
作者博文地址:http://www.cnblogs.com/spiritman/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...
- Python-2.7 配置 tab 自动补全功能
作者博文地址:http://www.cnblogs.com/liu-shuai/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...
- 如何为 .NET Core CLI 启用 TAB 自动补全功能
如何为 .NET Core CLI 启用 TAB 自动补全功能 Intro 在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 do ...
- Mysql命令行tab自动补全方法
在mysql命令行有时为了方便想要按tbl键自动补全命令,以便节约时间. 具体方法如下: 第一步:修改my.cnf vi mysql/etc/my.cnf 将下图红框的代码注释,修改成如下代码: #d ...
- sudo和man的tab自动补全
要加入sudo和man的tab自动补全功能,只需在~/.bashrc中加入: #Enabling tab-completioncomplete -cf sudocomplete -cf man
随机推荐
- Python——数据类型
如果是C语言,Java使用一个变量之前需要声明,数字,字符,布尔等都有特定的声明方式,前端中常用的js中都要使用var,而python中直接用就行了 比如: 虽然是这样使用,但其实是当你给一个变量赋值 ...
- MySQL Innodb表空间不足的处理方法
官方给出的解决方案: 添加和删除 InnoDB 数据和日志文件 这一节描述在InnoDB表空间耗尽空间之时,或者你想要改变日志文件大小之时,你可以做的一些事情. 最简单的,增加InnoDB表空间大小的 ...
- JavaScript之基操
局部变量前面要加var 如 var name = "jiahuai" 全局变量 name = "jiahuai" 写完每一行JavaScript代码用;号隔 ...
- 二十一、C++中的临时对象
思考: 构造函数是一个特殊的函数 是否可以直接调用? 是否可以在构造函数中调用构造函数? 直接调用构造函数的行为是什么? 答: 直接调用构造函数将产生一个临时对象 临时对象的生命周期只有一条语句的时间 ...
- PHP实现同array_column一样的功能
不用PHP自带的array_column函数实现同样的功能 <?php /** * Created by PhpStorm. * User: 123456 * Date: 2018/9/25 * ...
- Python基础教程2-3:以正确的宽度在居中的“盒子”内打印一个句子
代码示例:#获取句子长度sentence = input('Plese input a sentence:')#He's very naughty boyscreen_width =100#获取文本的 ...
- 【jquery】 form ajaxSubmit 问题
常见问题 这个插件跟哪些版本的jQuery兼容? 这个插件需要jQuery v1.0.3 或 以后的版本. 这个插件需要其它插件的支持吗? 不需要. 这个插件的运行效率高吗? 是的!请到 对比页面 查 ...
- 使用 Python 编写登陆接口
# 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...
- HDU:2767-Proving Equivalences(添边形成连通图)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2767 Proving Equivalences Time Limit: 4000/2000 MS (Ja ...
- POJ:1086-Parencodings
Parencodings Time Limit: 1000MS Memory Limit: 10000K Description Let S = s1 s2-s2n be a well-formed ...