ipython TerminalInteractiveShell 和 Interactive

ipython文档有一长串可配置选项。有些是为了TerminalInteractiveShell,有些是为了InteractiveShellipython_config.py当我从命令行生成时,一些选项出现在文档中的一个中,以及另一个中。这有什么规律或理由吗?两者兼备的原因是什么?



波斯汪
浏览 60回答 1
1回答

冉冉说

查看文档中的模块列表,我们有IPython.core.application:IPython 的应用程序。IPython.core.interactiveshell:主要的 IPython 类。IPython.terminal.ipapp:命令行 ipython程序的应用程序对象。IPython.terminal.interactiveshell:使用prompt_toolkit的IPython终端界面InteractiveShell是基本的 iPython shell 类,可以为不同的目的对其进行子类化。TerminalInteractiveShell就是这样一个特定的子类。它继承自InteractiveShell,并且是当我们在命令行中键入“ipython”时运行的特定 shell。TerminalInteractiveShell可用于但不可用于基础的配置选项的一个示例InteractiveShell是confirm_exit. 这似乎是合理的,因为“你真的想退出吗”问题只有当有人在 shell 内按下 Control-D 时才真正相关。实际上,如果您只是尝试配置命令行 ipython shell,则更改选项的InteractiveShell或TerminalInteractiveShell版本都可以,因为TerminalInteractiveShell继承了基类的选项。但是,只编辑更具体的内容会更安全TerminalInteractiveShell,因为基类仍在非终端情况下使用,并且更改其设置可能会导致出现意外的行为。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python