原文链接 译者:Carvendy
14 章 交互式输入编辑和历史替换
一些版本的Python交互支持行级的输入编辑和历史替换,在Korn shell和GUN Bash shell里可以找到相似之处。这里使用的是GUN 读行库,它可以支持多种风格的编辑。这个库有自己的文档,在这里我们就不打算复述了。
14.1 Tab 填充和历史编辑
可变的填充和模块名是可以再启动的时候自动解析的,所以tab键可以唤醒填充函数;可以是Python标准声明,包括当前的变量,和可用的模块名称。为了像交错的表达式例如 string等,将会求出最后的’.’,然后在建议的填充中获取最终的结果。注意的是如果对象有 getattr() 方法的部分表达式,这可能会执行程序的代码。在默认配置中保存你的历史记录到一个名为’.python_history’n文件,它会你的用户目录底下。历史记录会在一次回话再次可用直到下一次交互回话。
14.2 交互解析器的替代方案
与更早版本的解析器比较,设施有很多步骤。可是,有些愿望还是落空了:如果适当的缩进被建议到 下一行,也许会更好。(分析程序可以知道一个缩进是否在接下来是被需要的)。这填充机制可能使用了交互式的标志表。命令检查匹配插入,引用,这将会更好用。
二选一的增强交互的解释器,已经在IPython中一段时间了,里面的特性有tab完成,对象探测和历史记录回溯。可以在其他程序中自定义和嵌入其中。类似与增强环境中的bpython.
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/61744.html