ubuntu python2.7 tab补全
来源:互联网 发布:纳什均衡与社会学 知乎 编辑:程序博客网 时间:2024/06/06 09:26
刚学习python,其实一切都很好接受,因为有过C语言的基础,感觉一切都来得那么自然,python极其精简的语法,让我真心是爱上这种语言!相信往后python一定会在我的IT生涯中大放光彩!
好,废话说完了,入正题。
1.问题引出:默认情况下python交互界面的tab键
在linux下,或在路由器、交换机上,按tab键按得很爽,什么不完整的,tab一下都出来了,无奈,在linux中安装的python,默认情况是没有tab功能的,也就是在python的交互界面中,tab是没有办法补全的,python的交互界面只是把它当作正常的多个空格补全来处理:
xpleaf@py:~/seminar6/day1$ pythonPython 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import sys >>> sys. =====>按tab键,想看看sys的子模块,结果就是按出了一大堆空格键
是啊,这也太恶心了!没有tab键,宝宝不开心!
2.解决方案:自行导入tab键的模块--创建tab.py模块文件
问题是,没有tab键的模块,怎么办?百度一下吧!不过当时确实找了好多,都找不到一个在我自己的实验环境中可以使用的,总是提示各种错误!还好,总算让我找到一个可以使用的,下面直接给出tab.py的代码:
#!/usr/bin/env python# python startup file import sysimport readlineimport rlcompleterimport atexitimport 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: passatexit.register(readline.write_history_file, histfile)del os, histfile, readline, rlcompleter
把上面的代码,保存成tab.py文件,然后保存到下面的指定路径之一:
>>> import sys>>> sys.path['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
为了省事点,我直接把tab.py文件放到/usr/lib/python2.7这个目录下面好了:
xpleaf@py:~/seminar6/day1$ sudo mv tab.py /usr/lib/python2.7/xpleaf@py:~/seminar6/day1$ ll /usr/lib/python2.7/tab.py-rw-rw-r-- 1 xpleaf xpleaf 419 8月 6 23:53 /usr/lib/python2.7/tab.py
3.方案测试:导入tab模块后,可使用tab键补全
下面就可以爽爽地使用tab键补全了,不过还是要先在python的交互界面中导入一下:
xpleaf@py:~/seminar6/day1$ pythonPython 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import sys ===>导入sys模块只是为了下面对tab键补全做测试>>> import tab ===>这才是重点>>> sys. ===>输入sys.后按两次tab键sys.__class__( sys.exit(sys.__delattr__( sys.exitfunc(sys.__dict__ sys.flagssys.__displayhook__( sys.float_infosys.__doc__ sys.float_repr_stylesys.__excepthook__( sys.getcheckinterval(sys.__format__( sys.getdefaultencoding(sys.__getattribute__( sys.getdlopenflags(sys.__hash__( sys.getfilesystemencoding(sys.__init__( sys.getprofile(sys.__name__ sys.getrecursionlimit(sys.__new__( sys.getrefcount(sys.__package__ sys.getsizeof(sys.__reduce__( sys.gettrace(sys.__reduce_ex__( sys.hexversionsys.__repr__( sys.long_infosys.__setattr__( sys.maxintsys.__sizeof__( sys.maxsizesys.__stderr__ sys.maxunicodesys.__stdin__ sys.meta_pathsys.__stdout__ sys.modulessys.__str__( sys.pathsys.__subclasshook__( sys.path_hookssys._clear_type_cache( sys.path_importer_cachesys._current_frames( sys.platformsys._getframe( sys.prefixsys._mercurial sys.ps1sys.api_version sys.ps2sys.argv sys.py3kwarningsys.builtin_module_names sys.pydebugsys.byteorder sys.setcheckinterval(sys.call_tracing( sys.setdlopenflags(sys.callstats( sys.setprofile(sys.copyright sys.setrecursionlimit(sys.displayhook( sys.settrace(sys.dont_write_bytecode sys.stderrsys.exc_clear( sys.stdinsys.exc_info( sys.stdoutsys.exc_type sys.subversionsys.excepthook( sys.versionsys.exec_prefix sys.version_infosys.executable sys.warnoptions>>> sys.
感觉好极了!虽然每次进入python的交互界面都要重新再导入一次tab模块,可是有总比没有好!对于我这样的初学者来说,已经很满足啦!
1 0
- ubuntu python2.7 tab补全
- ubuntu python2.7 tab补全
- Python2.7 无readline模块前提下,tab自动补全脚本配置
- Python2.7 tab自动补齐
- Ubuntu下tab补全命令名
- ubuntu sudo命令tab自动补全
- Ubuntu 14.04 Tab补全忽略大小写
- Ubuntu-ROS TAB补全错误
- tab 指令无法补全,ros ubuntu
- python tab 补全
- Tab 补全
- python tab补全
- tab 补全-linux
- python tab补全
- 解决 ubuntu apt-get TAB 键不能自动补全
- ubuntu tab键命令不能补全的问题
- Ubuntu系统Tab键不能自动补全问题解决
- ubuntu tab键不能自动补全命令的参数
- js输入框使用正则表达式校验输入内容示例
- Ubuntu 15.10安装ionic环境
- [IMX6Q][Android5.1]移植笔记 --- kernel移植
- 键盘对应的ASCII码
- 三大移动Web开发框架_jquery mobile_jQTouch_sencha touch
- ubuntu python2.7 tab补全
- 虚拟导航栏对屏幕分辨率的影响(主要针对华为机)
- Win10 安装过程中遇到的各种问题
- Spark Tungsten(钨丝计划)内存详解
- ffmpeg的编译、安装及使用 .
- 北大1114 神奇的口袋
- 递归求三角数字
- MyEclipse8.6 破解以及注册码
- MyBatis传入多个参数