使用文件系统¶
工作区文件系统¶
工作区环境左侧窗格中显示的文件代表工作区目录的内容,该目录是笔记本的工作目录。
在工作区目录中运行 ls 会列出目录中所有文件和文件夹,包括笔记本和任何其他项目资产。
引用文件¶
您可以通过相对路径引用当前工作区目录中的文件。例如,您想读取工作区中的笔记本和示例数据集(CSV 格式):
在 Python 单元格中,运行以下代码:
限制¶
不支持通过代码或终端向工作区目录写入文件。虽然文件写入在会话期间可能会起作用,但不能保证它们会成功,并且在未来的版本中可能会失败。
工作区目录中的文件持久性具有以下限制:
文件是只读的:
/workspace/<workspace_hash>下的文件是只读的,在执行笔记本时无法在代码中更新。不支持从代码或终端写入文件: 不要以编程方式将文件写入工作区目录。使用 Snowflake 暂存区来保存文件(请参阅 持久化文件)。
仅在 Snowsight 中上传或创建的文件会持续存在: 只有通过 Snowsight 上传或创建的文件才会跨会话持久保存。
仅会话可见性: 当笔记本服务暂停时,会话期间通过代码或终端创建的任何文件都将被移除。这些文件不会出现在左侧窗格中。
容器的 /tmp 目录¶
/tmp 目录也是可读取/写入的,适用于草稿工作或不需要持久化的临时数据。
将文件写入 /tmp 的示例:
要列出 /tmp 目录中的文件,请运行以下命令:
持久化文件¶
要存储文件以备后用,请使用 Snowpark 文件操作 APIs 将其写入具有写访问权限的 Snowflake 暂存区。
要了解有关所需暂存区权限的更多信息,请参阅 写访问权限。有关 Snowpark 文件操作,请参阅 Snowpark 文件操作 APIs。