Google Colab - 调用系统命令
Jupyter 包含许多常见系统操作的快捷方式。Colab Code 单元支持此功能。
简单命令
在使用系统命令 echo 的代码单元中输入以下代码。
message = 'A Great Tutorial on Colab by Tutorialspoint!' greeting = !echo -e '$message $message' greeting
现在,如果您运行该单元,您将看到以下输出 −
['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']
获取远程数据
让我们看另一个从远程服务器加载数据集的示例。在代码单元格中输入以下命令 −
!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"
如果运行代码,您将看到以下输出 −
--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96 Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3974305 (3.8M) [text/plain] Saving to: ‘/content/drive/My Drive/app/adult.data.1’ adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s 2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]
如消息所示,adult.data.1 文件现已添加到您的驱动器中。您可以通过检查驱动器的文件夹内容来验证这一点。或者,在新的代码单元中输入以下代码 −
import pandas as pd data = pd.read_csv("/content/drive/My Drive/app/adult.data.1") data.head(5)
立即运行代码,您将看到以下输出 −
同样,大多数系统命令都可以通过在命令前面加上感叹号 (!) 来在代码单元中调用。在给出您可以调用的完整命令列表之前,让我们先看另一个示例。
克隆 Git 存储库
您可以使用 git 命令将整个 GitHub 存储库克隆到 Colab 中。例如,要克隆 keras 教程,请在代码单元格中输入以下命令 −
!git clone https://github.com/wxs/keras-mnist-tutorial.git
成功运行命令后,您将看到以下输出 −
Cloning into 'keras-mnist-tutorial'... remote: Enumerating objects: 26, done. remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26 Unpacking objects: 100% (26/26), done.
克隆存储库后,在其中找到一个 Jupyter 项目(例如 keras.ipyab 中的 MINST),右键单击文件名并选择 Open With / Colaboratory 菜单选项以在 Colab 中打开该项目。
系统别名
要获取常用操作的快捷方式列表,请执行以下命令 −
!ls /bin
您将在输出窗口中看到列表,如下所示 −
bash* journalctl* sync* bunzip2* kill* systemctl* bzcat* kmod* systemd@ bzcmp@ less* systemd-ask-password* bzdiff* lessecho* systemd-escape* bzegrep@ lessfile@ systemd-hwdb* bzexe* lesskey* systemd-inhibit* bzfgrep@ lesspipe* systemd-machine-id-setup* bzgrep* ln* systemd-notify* bzip2* login* systemd-sysusers* bzip2recover* loginctl* systemd-tmpfiles* bzless@ ls* systemd-tty-ask-password-agent* bzmore* lsblk* tar* cat* lsmod@ tempfile* chgrp* mkdir* touch* chmod* mknod* true* chown* mktemp* udevadm* cp* more* ulockmgr_server* dash* mount* umount* date* mountpoint* uname* dd* mv* uncompress* df* networkctl* vdir* dir* nisdomainname@ wdctl* dmesg* pidof@ which* dnsdomainname@ ps* ypdomainname@ domainname@ pwd* zcat* echo* rbash@ zcmp* egrep* readlink* zdiff* false* rm* zegrep* fgrep* rmdir* zfgrep* findmnt* run-parts* zforce* fusermount* sed* zgrep* grep* sh@ zless* gunzip* sh.distrib@ zmore* gzexe* sleep* znew* gzip* stty* hostname* su*
执行这些命令中的任何一个,就像我们对 echo 和 wget 所做的那样。在下一章中,我们将了解如何执行您之前创建的 Python 代码。