14. 交互式编辑和编辑历史¶
某些版本的 Python 解释器支持编辑当前输入行和编辑历史记录,类似 Korn shell 和 GNU Bash shell 的功能 。这个功能使用了 GNU Readline 来实现,一个支持多种编辑方式的库。这个库有它自己的文档,在这里我们就不重复说明了。
14.1. Tab 补全和编辑历史¶
在解释器启动的时候,补全变量和模块名的功能将 自动打开,以便在按下 Tab 键的时候调用补全函数。它会查看 Python 语句名称,当前局部变量和可用的模块名称。处理像 string.a
的表达式,它会求值在最后一个 '.'
之前的表达式,接着根据求值结果对象的属性给出补全建议。如果拥有 __getattr__()
方法的对象是表达式的一部分,注意这可能会执行程序定义的代码。默认配置下会把编辑历史记录保存在用户目录下名为 .python_history
的文件。在下一次 Python 解释器会话期间,编辑历史记录仍旧可用。