Utilisation du système de fichiers

Le système de fichiers Workspaces

Les fichiers affichés dans le volet gauche de l’environnement Workspaces représentent le contenu de votre répertoire Workspaces, qui est le répertoire de travail du notebook.

Pour voir le chemin complet, exécutez pwd ou la commande suivante :

import os
print(os.getcwd())
Copy

Un chemin est imprimé dans le format suivant :

/workspace/<workspace_hash representing your workspace>
Copy

La création d’une liste de fichiers via ls affiche les fichiers du notebook ainsi que les dossiers et les ressources du projet stockés dans le répertoire Workspaces.

Limitations

Bien que le répertoire Workspaces soit en lecture/écriture, la persistance des fichiers est limitée :

  • Les fichiers créés dans le code ou à partir du terminal n’existent que pour la durée de la session en cours du service de notebook. Lorsque le service de notebook est suspendu, ces fichiers sont supprimés. Pendant la session, vous verrez ces fichiers si vous répertoriez le répertoire (en utilisant ls) sous :file :/workspace/<workspace_hash>, mais ils ne persistent pas après la fin de la session.

  • Uniquement les fichiers qui sont chargés ou créés dans Snowsight persistent d’une session à l’autre.

  • Les fichiers créés à partir du code ou du terminal n’apparaissent pas dans le volet de gauche. Il s’agit d’une limitation temporaire. Contactez l’équipe de votre compte pour plus d’informations.

Le répertoire /tmp du conteneur

Le répertoire /tmp est également en lecture/écriture et convient au travail temporaire ou aux données temporaires qui n’ont pas besoin de persister.

Exemple d’écriture d’un fichier dans /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

Pour lister les fichiers dans le répertoire /tmp, exécutez ce qui suit :

%%bash
cd /tmp
ls
Copy

Fichiers persistants

Pour stocker des fichiers en vue d’une utilisation ultérieure, écrivez-les dans une zone de préparation Snowflake avec un accès en écriture à l’aide des APIs d’opération sur les fichiers Snowpark.

Pour en savoir plus sur les privilèges requis par les zones de préparation, voir Accès en écriture. Pour les opérations sur les fichiers Snowpark, voir APIsd’opération sur les fichiers Snowpark.