You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何在Colab中正确查看当前工作目录?

解决Colab中查看和定位笔记本所在工作目录的问题

1. 正确查看当前工作目录的方法

  • 魔法命令方式:直接运行 %pwd 或 !pwd,前者是IPython魔法命令,后者是bash命令,两者都能输出当前工作目录。你之前得到的 /content 是Colab默认的初始工作目录,属于正常情况。
  • os模块方式:你之前调用os.path无输出是因为没使用具体方法且未打印结果,正确代码如下:
import os
print(os.getcwd())  # 打印当前工作目录

2. 定位到笔记本所在目录(解决读取同目录文件繁琐的问题)

Colab笔记本默认存储在Google Drive中,要切换到笔记本所在文件夹,按以下步骤操作:

  1. 挂载Google Drive:
from google.colab import drive
drive.mount('/content/drive')

运行后按提示完成授权,即可挂载你的Drive。
2. 获取笔记本路径并切换目录:

  • 打开Colab左侧「文件」侧边栏,找到你的笔记本文件,右键点击选择「复制路径」。
  • 复制的路径类似 /content/drive/MyDrive/Colab Notebooks/MyProject/my_notebook.ipynb,我们需要切换到该文件所在的文件夹(去掉最后的文件名部分):
import os
# 替换成你复制的笔记本路径
notebook_path = '/content/drive/MyDrive/Colab Notebooks/MyProject/my_notebook.ipynb'
# 获取笔记本所在的文件夹路径
notebook_dir = os.path.dirname(notebook_path)
# 切换到该文件夹
os.chdir(notebook_dir)
# 验证切换结果
print(os.getcwd())

切换完成后,你就能直接读取同目录下的文本或CSV文件,无需再写完整路径。

额外技巧

如果不想每次手动复制路径,可以用以下代码自动获取当前运行的笔记本路径(需先安装nbformat):

!pip install nbformat
import nbformat
from google.colab import _message
import os

# 获取当前笔记本的路径
def get_current_notebook_path():
    msg = _message.blocking_request('get_ipynb', timeout_sec=5)
    nb = nbformat.reads(msg['ipynb'], as_version=4)
    metadata = nb.metadata.get('colab', {})
    return metadata.get('name', '')

notebook_name = get_current_notebook_path()
# 假设笔记本在Drive的默认Colab Notebooks文件夹下,可根据实际情况调整路径
notebook_dir = f'/content/drive/MyDrive/Colab Notebooks/{os.path.dirname(notebook_name)}'
os.chdir(notebook_dir)
print(os.getcwd())

内容的提问来源于stack exchange,提问作者subham agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:05:23