有用的 IPython 魔法命令

有用的 ipython 魔法命令

请我喝杯咖啡☕

ipython 魔法命令是一种特殊的代码,基本上以 % 或 %% 开头,但有时!或!!:

*备忘录:

  • 基本上,% 或 %% 比 ! 更有效。或者 !!所以只有当 % 或 %% 不起作用时才使用 !或者!!.
  • 有些神奇命令仅适用于 % 或 !但不能使用 %% 或 !!.
  • 我从未见过与 !!.
  • 一起使用的魔法命令
  • 带有 % 或 ! 的神奇命令用于一行代码。
  • 带有 %% 或 !! 的魔法命令用于一个单元格(一行或多行代码)。
  • ipython masic 命令可以在 ipython 和基于 ipython 的编辑器上使用,例如 google colab、jupyterlab、jupyter notebook 等
  • ipython 文档并未涵盖所有魔法命令。

% 带有 unix(linux) 命令>

*对于unix(linux)命令,应该使用%,因为!有时不起作用。

  • %pwd 可以显示当前目录:
%pwd
# '/home/superkai'
  • %ls 可以显示文件和文件夹。 *-a 还可以显示隐藏的文件和文件夹:
%ls -a
# ./  ../ file1 .file2 folder1/ .folder2/
  • %cd 可以改变当前目录:
%cd folder1
  • %rm 可以删除(删除)文件和文件夹。 *-r 允许删除文件夹:
%rm -r file1 folder1

!git 命令>

*%git 不起作用。

1. 克隆公共或私有存储库:

*备忘录:

  • % 不适用于 git 命令。
  • 我的文章解释了如何使用来自 github 的 fgpat(细粒度个人访问令牌)克隆私有存储库。
  • 我的文章解释了如何使用来自 github 的 pat(个人访问令牌)克隆私有存储库。
!git clone https://github.com/<usr or org>/<repo>.git
</repo></usr>
!git clone https://<fgpat or pat>@github.com/<usr or org>/<repo>.git
</repo></usr></fgpat>

2. 进行添加操作:
*备注:

  • -a 可以暂存所有(新的、修改的、删除的)文件。
  • -a(小写)不起作用。
!git add -a

3. 可能需要配置操作来添加电子邮件和用户名:

git config --global user.email "you@example.com"
git config --global user.name "your name"

4. 进行提交操作。 *没有消息 -m "..." 的命令会出现错误:

!git commit -m "new"

5. 进行推送操作。 *不带 main 的命令也可以工作:

%timeit 和 %%timeit>

*备忘录:

  • %timeit 适用于一行代码。
  • %%timeit 适用于一个单元格(一行或多行代码)
  • 您可以在 %timeit 和 %%timeit 之后设置 -r 例如%timeit -r 4 和 %%timeit -r 4 可以将重复次数从 7 更改为 4。 *您可以检查 %timeit 和 %%timeit 的更多选项(标志)。

%timeit 可以计算一行代码的平均值(average)和标准差(std),默认以合适的循环次数重复 7 次,如下所示:

%timeit sum(range(1000000))
# 21.1 ms ± 4.79 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%%timeit 可以计算一个单元格(一行或多行代码)的均值(average)和标准差(std),默认以合适的循环次数重复 7 次,如下所示:

%%timeit
sum(range(1000000))
sum(range(1000000))
sum(range(1000000))
# 57.5 ms ± 1.49 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

%时间和%%时间>

*备忘录:

  • %time 适用于一行代码。
  • %%时间适用于一个单元格(一行或多行代码)
  • cpu 时间是用户 cpu 时间系统 cpu 时间 的总和: *备注:
    • 用户cpu时间是程序在用户空间上使用cpu的时间量。 *用户空间是应用程序的内存空间。
    • 系统cpu时间是程序在内核空间上使用cpu的时间量。 *内核空间是内核的内存空间,内核是操作系统的核心。
  • real 是实时,即从程序开始到程序结束的时间。 *实时也称为挂钟时间挂钟时间

%time 可以计算一行代码的 cpu 时间和 wall(real) 时间,如下所示:

%time sum(range(1000000))
# cpu times: user 19.7 ms, sys: 0 ns, total: 19.7 ms
# wall time: 19.6 ms
# 499999500000

%%time可以计算一个cell的cpu时间和wall(真实)时间(一行或多行代码),如下所示:

%%time
sum(range(1000000))
sum(range(1000000))
sum(range(1000000))
# CPU times: user 60.6 ms, sys: 0 ns, total: 60.6 ms
# Wall time: 63.4 ms
# 499999500000

以上就是有用的 IPython 魔法命令的详细内容,更多请关注其它相关文章!