2009年7月23日星期四

如何让python交互模式也能使用Tab键补全输入

别人的问题,自己做个收藏。
http://groups.google.com/group/python-cn/browse_thread/thread/272baca043c169fd?hl=zh-CN

牛人的回答:

交互模式使用 python 建议使用 ipython,
执行

> sudo apt-get install ipython

安装。

不过 python 命令行其实也是支持补全的,
在python 后先执行一句

> import readline, rlcompleter; readline.parse_and_bind(*"tab: complete"*)

然后就可以按 *Tab 补全*了。

在我这儿,我是让 python 命令行交互模式自动执行那语句,

即在* ~/.pythonstartup.py* 写入

> #!/usr/bin/python
> # -*- coding: UTF-8 -*-

> import readline, rlcompleter; readline.parse_and_bind("tab: complete") #
> 启用Tab补全

> def igtk():
> #import gtk, thread ; gtk.gdk.threads_init() ;
> thread.start_new_thread(gtk.main, ()) # 启用 Gtk 线程支持
> globals()['gtk'] = __import__('gtk')
> globals()['thread'] = __import__('thread')
> gtk.gdk.threads_init()
> thread.start_new_thread(gtk.main, ())
> pass

然后添加环境变量 PYTHONSTARTUP=~/.pythonstartup.py ,
即在 *~/.bashrc* 末尾加一行
> export PYTHONSTARTUP=~/.pythonstartup.py

以后执行 python 命令进入交互模式,就直接可以* Tab 补全*了。

上边例子还有个 igtk() 函数,
是用于命令行测试 PyGtk 使用的,
进入 Python 交互模式执行 igtk() 即可直接测试 Gtk 代码。

没有评论:

发表评论