14. 交互式输入编辑和历史替换 — Python 文档

来自菜鸟教程
Python/docs/3.7/tutorial/interactive
跳转至:导航、​搜索

14. 交互式输入编辑和历史替换

某些版本的 Python 解释器支持编辑当前输入行和历史替换,类似于 Korn shell 和 GNU Bash shell 中的功能。 这是使用 GNU Readline 库实现的,该库支持各种编辑风格。 这个库有它自己的文档,我们不会在这里复制。

14.1. 标签完成和历史编辑

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


14.2. 交互式解释器的替代品

与早期版本的解释器相比,此功能向前迈进了一大步; 然而,仍有一些愿望:如果在连续行上建议适当的缩进会很好(解析器知道接下来是否需要缩进标记)。 完成机制可能会使用解释器的符号表。 检查(甚至建议)匹配括号、引号等的命令也很有用。

IPython 是一种替代的增强交互式解释器,它已经存在了很长一段时间,它具有制表符补全、对象探索和高级历史管理功能。 它还可以完全定制并嵌入到其他应用程序中。 另一个类似的增强交互环境是bpython