roc*_*ves 3 ipython jupyter google-colaboratory
问题在标题中。
我知道这%通常表示 IPython 中的“魔法变量”。这不是我非常熟悉的概念,但我已经读过它。
但是,今天我看到了一个教程,其中有人使用它来运行 shell 命令。通常我见过并使用过!.
有区别吗?当我尝试它们时,两者似乎都在做同样的事情。
区别在于:
当您使用 运行命令时!,它会直接在子 shell 中执行 bash 命令。
当您使用 运行命令时%,它会执行IPython 中定义的魔法命令之一。
IPython 定义的一些魔法命令故意镜像 bash 命令,但它们在实现细节上有所不同。
例如,运行!cdbash 命令不会持续更改您的目录,因为它在临时子 shell 中运行。但是,运行%cd魔法命令将持续更改您的目录:
!pwd
# /content
!cd sample_data/
!pwd
# /content
%cd sample_data/
!pwd
# /content/sample_data
Run Code Online (Sandbox Code Playgroud)
在IPython:内置魔法命令中阅读更多内容。
| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |