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.
Exécuter ls dans le répertoire de l’espace de travail répertorie tous les fichiers et dossiers du répertoire, y compris les notebooks et les autres ressources de projet.
Référencer des fichiers¶
Vous pouvez référencer des fichiers dans le répertoire actuel de l’espace de travail par un chemin relatif. Par exemple, vous voulez lire dans un notebook et un échantillon de données (dans CSV) qui se trouvent dans votre espace de travail :
ml-intent-prediction/
├── data/
│ └── sample_data.csv
├── notebooks/
│ └── analysis.ipynb
└── utilities.py
Dans une cellule Python, exécutez le code suivant :
import pandas as pd
df = pd.read_csv("../data/sample_data.csv")
df.head()
Limitations¶
L’écriture de fichiers dans le répertoire de l’espace de travail à partir du code ou du terminal n’est pas prise en charge. Même si les écritures de fichiers peuvent sembler fonctionner pendant une session, leur réussite n’est pas garantie et elles peuvent échouer dans de futures versions.
La persistance des fichiers dans le répertoire de l’espace de travail présente les limitations suivantes :
Les fichiers sont en lecture seule : les fichiers sous
/workspace/<workspace_hash>sont en lecture seule et ne peuvent pas être mises à jour dans le code pendant l’exécution du notebook.Les écritures de fichiers à partir d’un code ou d’un terminal ne sont pas prises en charge : n’écrivez pas de fichiers dans le répertoire de l’espace de travail de manière programmatique. Utilisez plutôt des zones de préparation Snowflake pour les fichiers persistants (voir Fichiers persistants).
Seuls les fichiers importés ou créés dans Snowsight sont persistent : seuls les fichiers importés ou créés via Snowsight persistent d’une session à l’autre.
Visibilité de la session uniquement : tous les fichiers créés à partir du code ou du terminal pendant une session sont supprimés lorsque le service de notebook est suspendu. Ces fichiers n’apparaissent pas dans le volet de gauche.
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}")
Pour lister les fichiers dans le répertoire /tmp, exécutez ce qui suit :
%%bash
cd /tmp
ls
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.