Auf dieser Seite: open (), Dateipfad, CWD (‚aktuelles Arbeitsverzeichnis‘), r‘ raw string ‚ Präfix, os.getcwd(), os.chdir().
Referenzieren einer Datei mit einem vollständigen Pfad und Namen
Wie in den Tutorials #12 und #13 gezeigt, können Sie mit dem vollständigen Pfad und Dateinamen der Datei auf eine lokale Datei in Python verweisen., Below, you are opening up a file for reading:
|
|
In Windows, a full file directory path starts with a drive letter (C:, D:. etc.)., In Linux und OS-X beginnt es mit“/“, was root genannt wird. Verzeichnisse werden durch einen Schrägstrich „/“getrennt. Sie können den vollständigen Verzeichnispfad und Dateinamen einer Datei über die „Eigenschaften“nachschlagen. Sehen Sie, wie es in dieser FAQ gemacht wird.
Referenzieren einer Datei in Windows
In Windows gibt es einige zusätzliche Möglichkeiten, auf eine Datei zu verweisen. Das liegt daran, dass Windows file path nativ den Backslash „\“ anstelle des Schrägstrichs verwendet. Python erlaubt die Verwendung von beiden in einem Windows-System, aber es gibt ein paar Fallstricke zu achten., Zusammenfassend:
Dateinamenverknüpfungen und CWD (aktuelles Arbeitsverzeichnis)
Die Verwendung des vollständigen Verzeichnispfads und Dateinamens funktioniert also immer; Sie sollten diese Methode verwenden. Möglicherweise haben Sie jedoch Dateien gesehen, die nur mit ihrem Namen aufgerufen wurden, z. B. “ alice.txt‘ in Python. Wie wird es gemacht?
Entscheidend ist hier das Konzept des aktuellen Arbeitsverzeichnisses (CWD). Sie können es sich als den Ordner vorstellen, in dem Ihr Python gerade arbeitet. Bisher haben wir den absoluten Pfad verwendet, der vom obersten Verzeichnis aus beginnt. Wenn Ihre Dateireferenz jedoch nicht von oben beginnt (z. B. ‚alice.,txt‘, ‚ling1330/alice.txt‘), Python geht davon aus, dass es im CWD beginnt (ein „relativer Pfad“).
Dies bedeutet, dass eine Nur-Namen-Referenz nur erfolgreich sein wird, wenn die Datei in Ihrem Python CWD ist. Bedenken Sie jedoch, dass sich Ihr CWD ändern kann. Außerdem hat Ihr Python unterschiedliche anfängliche CWD-Einstellungen, je nachdem, ob Sie mit einem Python-Skript oder in einer Shell-Umgebung arbeiten.
- In einem Python-Skript:
Wenn Sie Ihr Skript ausführen, wird Ihr CWD auf das Verzeichnis festgelegt, in dem sich Ihr Skript befindet., Daher können Sie auf eine Datei in einem Skript nur dann mit ihrem Namen verweisen, wenn sich die Datei und das Skript im selben Verzeichnis befinden. Ein Beispiel:myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py
- In der Python-shell:
In der shell, die erste CWD Einstellung variiert je nach system. In Windows ist der Standardspeicherort oft ‚C:/program Dateien (x86) / Python35-32‘ (was unbequem ist-siehe diese Seite „Basiskonfigurationen“ oder diese FAQ zum Ändern). In OS-X ist es normalerweise ‚/ Users/username / Documents‘, wobei username Ihre Benutzer-ID ist. (Mac-Benutzer sollten diese FAQ sehen, wie Sie Ihre Einstellung ändern.,) Sofern sich Ihre Datei nicht zufällig in Ihrer CWD befindet, haben Sie zwei Möglichkeiten:- Ändern Sie Ihre CWD in das Verzeichnis der Datei oder
- Kopieren oder verschieben Sie Ihre Datei in Ihre CWD. (Nicht empfohlen, da sich die CWD Ihrer Shell ändern kann.)
In diesem Screenshot und im nächsten Abschnitt erfahren Sie, wie Sie mit Ihrer CWD-Einstellung in der Python-Shell arbeiten.
suchen und Ändern CWD
Python-Modul os stellt Werkzeuge für die Anzeige und das ändern Ihrer aktuellen Arbeitsverzeichnis. Unten zeigt, wie Sie Ihre CWD finden (.getcwd()) und ändern Sie es in ein anderes Verzeichnis (.chdir())., Unten finden Sie ein Beispiel für das Windows-Betriebssystem:Beachten Sie, dass der vom Python-Interpreter zurückgegebene CWD im Windows-Dateipfadformat vorliegt: Er verwendet den Backslash „\“ für das Verzeichnistrennzeichen und jede Instanz ist maskiert. Während Python Windows-Benutzer den Linux/OS-X-Stil „/“ in Dateipfaden verwenden können, verwendet es intern das OS-native Dateipfadformat.