在 Google colab 中更改目录(突破 python 解释器)

因此,我试图把克隆和 cd 到该目录使用谷歌协作-但我不能 cd 到它。我做错了什么?

Rm-rf 交换频率分析 & git 克隆 https://github.com/ACECentre/SwitchFrequencyAnalysis.git

! cd 开关频率分析

数据实验室/转换频率分析/

您可能希望它输出的目录内容是 SwitchConfencyAnalysis-但是它是根目录。我觉得我遗漏了一些显而易见的东西——这是否与身处 python 解释器中有关?(文件在哪里? ?)

演示完毕。

256003 次浏览

使用 os.chdir。下面是一个完整的例子: Https://colab.research.google.com/notebook#fileid=1cspbdmy0txu038akscl8yj3elgciggju

简洁明了:

!mkdir abc
!echo "file" > abc/123.txt


import os
os.chdir('abc')


# Now the directory 'abc' is the current working directory.
# and will show 123.txt.
!ls

使用

开关频率分析

更改笔记本环境的当前工作目录(而不仅仅是运行! 命令的 subshell)。

你可以像下面这样确认它与 pwd命令一起工作:

! pwd

更多关于木星/巨蟒魔法的信息: Http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-cd

如果要使用 cd 或 ls 函数,则需要在函数名(% 和!) 使用% cd 和! ls 导航

.

!ls    # to find the directory you're in ,
%cd ./samplefolder  #if you wanna go into a folder (say samplefolder)

或者你想从当前文件夹里出来

%cd ../

然后导航到所需的文件夹/文件

正如其他人指出的那样,cd命令需要从一个百分号开始:

%cd SwitchFrequencyAnalysis

%!的区别

GoogleColab 似乎从 Jupiter 继承了这些语法(后者从 IPython 继承了这些语法)。 Jake VanderPlas 解释了这种 IPython 行为 给你

如果使用 IPython 的 shell 命令一段时间,可能会出现这种情况 请注意,不能使用 !cd来导航文件系统:

In [11]: !pwd
/home/jake/projects/myproject


In [12]: !cd ..


In [13]: !pwd
/home/jake/projects/myproject

原因就是 笔记本中的 shell 命令在一个临时子 shell 中执行。 如果你想以更持久的方式改变工作目录 你可以使用 %cd魔法命令:

In [14]: %cd ..
/home/jake/projects

另一种看法是: 您需要 %,因为更改目录与当前笔记本的环境相关,而与整个服务器运行时无关。

通常,如果命令可以在单独的 shell 中运行,则使用 !。如果命令需要在特定的笔记本上运行,则使用 %

!pwd
import os
os.chdir('/content/drive/My Drive/Colab Notebooks/Data')
!pwd

查看此答案以获得详细解释 Https://stackoverflow.com/a/61636734/11535267

我相信在你做其他事情之前,你必须先装上谷歌硬盘。

from google.colab import drive
drive.mount('/content/drive')