更改Google colab中的目录(打破python解释器)

时间:2018-01-17 09:54:37

标签: google-colaboratory

所以我试图使用谷歌协作git clone和cd进入该目录 - 但我无法进入它。我做错了什么?

  

!rm -rf SwitchFrequencyAnalysis&& git clone https://github.com/ACECentre/SwitchFrequencyAnalysis.git

     

!cd SwitchFrequencyAnalysis

     

!LS   datalab / SwitchFrequencyAnalysis /

您希望它输出SwitchFrequencyAnalysis的目录内容 - 而不是它的根目录。我觉得我错过了一些明显的东西 - 这是否与python解释器有关? (文件在哪里?)

Demo here.

5 个答案:

答案 0 :(得分:33)

使用

%cd SwitchFrequencyAnalysis

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

您可以使用pwd命令确认它是否有效:

!pwd

有关jupyter / ipython魔法的更多信息: http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-cd

答案 1 :(得分:20)

使用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

答案 2 :(得分:16)

如果要使用cd或ls函数,则在函数名称前需要正确的标识符(分别为%和!) 使用%cd和!ls导航

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

或者如果你想离开当前文件夹

%cd ../      

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

答案 3 :(得分:8)

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

查看此答案以获取详细说明 https://stackoverflow.com/a/61636734/11535267

答案 4 :(得分:0)

正如其他人指出的那样,cd命令需要以百分比符号开头:

%cd SwitchFrequencyAnalysis

%!之间的差异

Google Colab似乎从Jupyter继承了这些语法(后者从IPython继承了这些语法)。 杰克·范德普拉斯(Jake VanderPlas)解释了这种IPython行为here。您可以在下面查看摘录。

  

如果使用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中运行,请使用!。如果命令需要在特定笔记本电脑上运行,请使用%