相同点
! 和 % 都可以在Jupyter notebook 运行 shell 命令。
不同点
一.
% 运行shell的环境是当前jupyter运行的虚拟环境比如kernel是pytorch,输入%pip list,就会显示当前虚拟环境安装的库。
而
! 运行shell的环境是jupyter的base主环境,输入!pip list,就会显示主环境安装的库。
二.
!是临时的命令 %改变路径会保持(即使把jupyter关掉,下次开还是保持)(若有需求,自己在这个输%cd xxx改回去)
输入:!pwd
输出:/content
输入:
!cd sample_data/
!pwd
输出:/content
输入:
%cd sample_data/
!pwd
输出:/content/sample_data
如何执行多条关联的命令
执行多个有关系的命令可以有2种方法:
- !的需要用&&将命令连接成一行:如:
输入:!F: && cd F:/anaconda/tensorflow && cd
输出:F:/anaconda/tensorflow
- %的一行行输入应该可以保持关联性。
- 当然也可以用%%bash或者%%cmd(可能是苹果系统和win系统的区别)(但这个就相当于 ! 是临时的),如:
要注意的是%%bash和%%cmd一定要是代码块的顶格: