14. 交互式 Importing 编辑和历史记录替换

某些版本的 Python 解释器支持编辑当前 Importing 行和历史记录替换,类似于 Korn shell 和 GNU Bash shell 中的Function。这是使用GNU Readline库实现的,该库支持各种编辑样式。该库有自己的文档,在此不再赘述。

14.1. 标签页完成和历史记录编辑

在解释器启动时,变量名和模块名的完成是automatically enabled,因此 Tab 键调用完成Function;它查看 Python 语句名称,当前的局部变量和可用的模块名称。对于string.a之类的点分表达式,它将评估表达式直至最后的'.',然后根据结果对象的属性建议补全。请注意,如果带有getattr()方法的对象是表达式的一部分,则这可以执行应用程序定义的代码。默认配置还将您的历史记录保存到用户目录中名为.python_history的文件中。在下一次交互式口译会话中,历史记录将再次可用。

14.2. 交互式 Interpreter 的替代品

与早期版本的解释器相比,此Function是一大进步。但是,还剩下一些希望:如果在连续行上建议了适当的缩进,那就太好了(解析器知道接下来是否需要缩进标记)。完成机制可能使用解释器的符号表。检查(甚至建议)匹配的括号,引号等的命令也将很有用。

已经存在了相当长一段时间的一种替代的增强型交互式解释器是IPython,它具有选项卡补全,对象浏览和高级历史记录 Management 的Function。也可以对其进行完全自定义,并将其嵌入其他应用程序中。另一个类似的增强交互式环境是bpython