Ipython 在谷歌Colab上的Jupyter笔记本中,什么';这就是使用%和!运行shell命令?
问题在标题中 我知道,Ipython 在谷歌Colab上的Jupyter笔记本中,什么';这就是使用%和!运行shell命令?,ipython,jupyter,google-colaboratory,Ipython,Jupyter,Google Colaboratory,问题在标题中 我知道,%在IPython中通常表示“神奇变量”。这不是一个我非常熟悉的概念,但我已经读过了 然而,今天我看到了一个教程,其中有人使用它来运行shell命令。通常我都看过并使用过 有区别吗?当我尝试它们时,它们似乎都在做相同的事情。区别在于: 使用运行命令时,它直接在子shell中执行bash命令 当您使用%运行命令时,它将执行IPython中定义的一个 IPython定义的一些神奇命令故意镜像bash命令,但它们在实现细节上有所不同 例如,运行!cdbash命令不会持续更改目
%
在IPython中通常表示“神奇变量”。这不是一个我非常熟悉的概念,但我已经读过了
然而,今天我看到了一个教程,其中有人使用它来运行shell命令。通常我都看过并使用过代码>
有区别吗?当我尝试它们时,它们似乎都在做相同的事情。区别在于:
- 使用
运行命令时代码>,它直接在子shell中执行bash命令
- 当您使用
%
运行命令时,它将执行IPython中定义的一个
IPython定义的一些神奇命令故意镜像bash命令,但它们在实现细节上有所不同
例如,运行!cd
bash命令不会持续更改目录,因为它在临时子shell中运行。但是,运行magic命令将持续更改您的目录:
!pwd
# /content
!cd sample_data/
!pwd
# /content
%cd sample_data/
!pwd
# /content/sample_data
阅读更多信息。完美。我刚刚注意到!就在您回答之前,cd实际上并没有更改我的目录。现在我知道为什么了!