使用code.interact启用控制台功能

时间:2018-06-18 21:48:20

标签: python console

如果我从命令行启动一个新的Python交互式会话,则会出现一些控制台功能,例如使用箭头键访问上一个命令等。
但是,如果我使用code.interact()从较大的脚本内部开始交互式会话,则转义序列不能正确处理 - 例如,按⮹键打印^[[A,而不是显示上一个命令。如何启用此功能?

1 个答案:

答案 0 :(得分:0)

您可以使用readline模块让箭头键正常工作

import code                                                  
import readline                                              
import rlcompleter                                           

vars = globals()       
vars.update(local_vars)

readline.set_completer(rlcompleter.Completer(vars).complete) 
readline.parse_and_bind("tab: complete")                     
code.InteractiveConsole(vars).interact()