Arbeiten mit dem Dateisystem¶
Das Workspaces-Dateisystem¶
Die im linken Bereich der Workspaces-Umgebung angezeigten Dateien stellen den Inhalt Ihres Workspace-Verzeichnisses dar, dem Arbeitsverzeichnis des Notebooks.
Bei Ausführung von ls im Workspace-Verzeichnis werden alle Dateien und Ordner im Verzeichnis aufgelistet, einschließlich Notebooks und aller anderen Projektressourcen.
Referenzieren von Dateien¶
Sie können auf Dateien im aktuellen Workspace-Verzeichnis über den relativen Pfad verweisen. Sie möchten zum Beispiel in einem Notebook und einem Beispiel-Dataset lesen (in CSV), die sich in Ihrem Arbeitsbereich befinden:
ml-intent-prediction/
├── data/
│ └── sample_data.csv
├── notebooks/
│ └── analysis.ipynb
└── utilities.py
Führen Sie in einer Python-Zelle den folgenden Code aus:
import pandas as pd
df = pd.read_csv("../data/sample_data.csv")
df.head()
Einschränkungen¶
Das Schreiben von Dateien in das Workspace-Verzeichnis aus dem Code oder dem Terminal wird nicht unterstützt. Auch wenn das Schreiben von Dateien während einer Sitzung zu funktionieren scheint, ist nicht garantiert, dass es erfolgreich ist, und kann in zukünftigen Versionen fehlschlagen.
Das Beibehalten von Dateien im Workspace-Verzeichnis hat die folgenden Einschränkungen:
Dateien sind schreibgeschützt: Dateien unter
/workspace/<workspace_hash>sind schreibgeschützt und können während der Ausführung des Notebooks nicht im Code aktualisiert werden.Dateischreibvorgänge vom Code oder Terminal werden nicht unterstützt: Schreiben Sie Dateien nicht programmgesteuert in das Workspace-Verzeichnis. Verwenden Sie stattdessen Snowflake-Stagingbereiche für persistente Dateien (siehe Dateien beibehalten).
Nur Dateien, die über Snowsight hochgeladen oder erstellt wurden, bleiben erhalten: Nur Dateien, die über Snowsight hochgeladen oder erstellt werden, bleiben über Sitzungen hinweg erhalten.
Nur Sitzungssicht: Alle Dateien, die während einer Sitzung aus Code oder dem Terminal erstellt wurden, werden entfernt, wenn der Notebookdienst ausgesetzt wird. Diese Dateien werden nicht im linken Fensterbereich angezeigt.
Das /tmp-Verzeichnis des Containers¶
Für das /tmp-Verzeichnis können auch Lese-/Schreibvorgänge getätigt werden, und es eignet sich für Entwurfsarbeiten oder temporäre Daten, die nicht beibehalten werden müssen.
Ein Beispiel für das Schreiben einer Datei in /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}")
Um Dateien im /tmp-Verzeichnis aufzulisten, führen Sie Folgendes aus:
%%bash
cd /tmp
ls
Dateien beibehalten¶
Um Dateien für die spätere Verwendung zu speichern, schreiben Sie sie mit den Snowpark-Dateivorgangs-APIs in einen Snowflake-Stagingbereich mit Schreibzugriff.
Weitere Informationen zu den erforderlichen Berechtigungen für Stagingbereiche finden Sie unter Schreibzugriff. Informationen zu Snowpark -Dateivorgängen finden Sie unter Snowpark-Dateivorgang APIs.