ファイルシステムの操作

ワークスペースファイルシステム

ワークスペース環境の左側のペインに表示されるファイルは、ノートブックの作業ディレクトリであるワークスペースディレクトリのコンテンツを表します。

完全なパスを表示するには、 pwd または次のコマンドを実行します。

import os
print(os.getcwd())
Copy

これにより、次の形式でパスが出力されます。

/workspace/<workspace_hash representing your workspace>
Copy

ls を使用してファイルを一覧表示すると、ワークスペースディレクトリに保存されているフォルダーやプロジェクトアセットとともに、ノートブックファイルが表示されます。

制限事項

ワークスペースディレクトリは読み取り/書き込みできますが、ファイルの永続性は制限されています。

  • コードで、またはターミナルから作成されたファイルは、現在のノートブックサービスセッションの間のみ存在します。ノートブックサービスが一時停止されると、これらのファイルは削除されます。セッション中、ディレクトリを( ls を使用して) /workspace/<workspace_hash> 下に一覧表示した場合、これらのファイルは表示されますが、セッションの終了後は保持されません。

  • 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}")
Copy

/tmp ディレクトリでファイルを一覧表示するには、次を実行します。

%%bash
cd /tmp
ls
Copy

ファイルの永続化

後で使用するためにファイルを保存するには、Snowparkファイル操作 APIs を使用して、書き込みアクセスのあるSnowflakeステージにファイルを書き込みます。

必要なステージ権限の詳細については、 書き込みアクセス をご参照ください。Snowparkのファイル操作については、 `Snowparkのファイル操作 APIs<https://docs.snowflake.com/en/developer-guide/snowpark/reference/python/1.6.1/api/snowflake.snowpark.FileOperation#snowflake.snowpark.FileOperation>`_ をご参照ください。