【发布时间】:2021-06-02 09:31:47
【问题描述】:
考虑以下示例:
>>> from IPython.core.inputtransformer2 import TransformerManager
>>> src = """\
... foo = !ls
... !!ls
... """
>>> TransformerManager().transform_cell(src)
"foo = get_ipython().getoutput('ls')\nget_ipython().getoutput('ls')\n"
!ls 和 !!ls 都转换为 get_ipython().getoutput('ls')。
如果我只看到TransformerManager().transform_cell的输出,有没有办法找回原始来源?
有没有办法判断get_ipython().get_output(<some string>)是来自!<some string>还是!!<some string>?
【问题讨论】:
-
!!ls应该怎么做? -
不确定我是否理解您的问题
-
它有什么作用?就像
!ls打印出目录中的当前文件,但是你代码中的!!ls呢? -
这是有效的 IPython 语法——我并不关心它的作用,而是关心往返有效的 IPython 语法