!
和%
都允许您从Jupyter笔记本运行shell命令。
%
提供by the IPython kernel并允许您运行"魔术命令",其中许多包括众所周知的shell命令。由Jupyter提供的!
允许shell命令在单元格内运行。
我还没有找到much比较两者,对于简单的shell命令,如cd
等,我看到的主要区别是%
是互动的并且实际上会在笔记本中更改shell 中的位置。
在考虑在Jupyter笔记本中使用哪个符号用于shell命令时,还有其他对比点或规则对比吗?
答案 0 :(得分:7)
!
调用shell(在新进程中),而%
影响与笔记本关联的进程(或笔记本本身;许多%
命令没有shell对应)。
!cd foo
本身没有持久的效果,因为更改目录的进程立即终止。 %cd foo
更改笔记本进程的当前目录,这是一种持久的效果。