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