区别!和Jupyter笔记本中的%

时间:2017-08-20 16:40:29

标签: python shell jupyter-notebook

!%都允许您从Jupyter笔记本运行shell命令。

%提供by the IPython kernel并允许您运行"魔术命令",其中许多包括众所周知的shell命令。由Jupyter提供的!允许shell命令在单元格内运行。

我还没有找到much比较两者,对于简单的shell命令,如cd等,我看到的主要区别是%是互动的并且实际上会在笔记本中更改shell 中的位置。

在考虑在Jupyter笔记本中使用哪个符号用于shell命令时,还有其他对比点或规则对比吗?

1 个答案:

答案 0 :(得分:7)

!调用shell(在新进程中),而%影响与笔记本关联的进程(或笔记本本身;许多%命令没有shell对应)。
!cd foo本身没有持久的效果,因为更改目录的进程立即终止。 %cd foo更改笔记本进程的当前目录,这是一种持久的效果。