使用文件系统¶
工作区文件系统¶
工作区环境左侧窗格中显示的文件代表工作区目录的内容,该目录是笔记本的工作目录。
要查看完整路径,请运行 pwd 或以下命令:
import os
print(os.getcwd())
这会按以下格式打印路径:
/workspace/<workspace_hash representing your workspace>
使用 ls 列出文件时,系统会显示笔记本文件以及存储在工作区目录中的任何文件夹或项目资产。
限制¶
尽管工作区目录是可读取/写入的,但文件的持久性是有限的:
在代码中或从终端创建的文件仅在当前笔记本服务会话期间存在。当笔记本服务暂停时,系统将移除这些文件。在会话期间,如果列出
/workspace/<workspace_hash>下的目录(使用ls),您会看到这些文件,但它们在会话结束后不会持久保留。只有在 Snowsight 中上传或创建的文件才能跨会话持久存在。
从代码或终端创建的文件不会出现在左侧窗格中。这是一个临时限制。有关更多信息,请联系您的账户团队。
容器的 /tmp 目录¶
/tmp 目录也是可读取/写入的,适用于草稿工作或不需要持久化的临时数据。
将文件写入 /tmp 的示例:
file_path = "/tmp/sample.txt"
with open(file_path, "w") as f:
f.write("Hello from Python!\\nThis is a sample file saved in /tmp.")
print(f"File written to {file_path}")
要列出 /tmp 目录中的文件,请运行以下命令:
%%bash
cd /tmp
ls
持久化文件¶
要存储文件以备后用,请使用 Snowpark 文件操作 APIs 将其写入具有写访问权限的 Snowflake 暂存区。
要了解有关所需暂存区权限的更多信息,请参阅 写访问权限。有关 Snowpark 文件操作,请参阅 Snowpark 文件操作 APIs。