要在我使用的单元格中显示多个输出,

    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"


但是,如果我有一个只需要单个输出的单元,该如何在同一笔记本中切换回原样呢?

我尝试发行

    InteractiveShell.ast_node_interactivity = "last_expr"


在我想要单个输出的单元中,但似乎没有用。

最佳答案

您可以在IPython(终端,笔记本等)提示符下发出以下命令:

%config


它会告诉您可以配置哪个对象:

Available objects for config:
 AliasManager
 DisplayFormatter
 HistoryManager
 IPCompleter
 IPKernelApp
 InlineBackend
 LoggingMagics
 MagicsManager
 PrefilterManager
 ScriptMagics
 StoreMagics
 ZMQInteractiveShell


请注意,ZMQInteractiveShell在终端中将为TerminalInteractiveShell。在我们的情况下,就是我们感兴趣的配置,让我们向config询问更多信息:

%config ZMQInteractiveShell

ZMQInteractiveShell options
-------------------------
ZMQInteractiveShell.ast_node_interactivity=<Enum>
    Current: 'last_expr'
    Choices: ['all', 'last', 'last_expr', 'none', 'last_expr_or_assign']
    'all', 'last', 'last_expr' or 'none', 'last_expr_or_assign' specifying which
    nodes should be run interactively (displaying output from expressions).
ZMQInteractiveShell.ast_transformers=<List>
    Current: []


喔!好吧,让我们分配:

%config InteractiveShell.ast_node_interactivity="last_expr"


您已准备就绪,此外,您还学习了如何深入IPython配置系统。

请注意,它可能不适用于所有配置选项(如果要打开错误报告),但对last_node_interactivity应该适用,而且解析器有点挑剔,您可能不需要在=周围留空格。

请享用 !

10-07 20:24