Python Get-Home-Verzeichnis

Ammar Ali 21 Juni 2023
  1. Holen Sie sich das Home-Verzeichnis mit dem Modul os.path.expanduser in Python
  2. Holen Sie sich das Home-Verzeichnis mit der Bibliothek pathlib in Python
Python Get-Home-Verzeichnis

In diesem Tutorial wird erläutert, wie Sie den Pfad des Home-Verzeichnisses mithilfe der Bibliothek os.path.expanduser oder pathlib in Python ermitteln.

Holen Sie sich das Home-Verzeichnis mit dem Modul os.path.expanduser in Python

Um das Home-Verzeichnis eines Benutzers zu erhalten, können wir in Python den os.path.expanduser verwenden. Wir müssen ein Zeichenfolgenzeichen ~ innerhalb der Funktion os.path.expanduser() übergeben, das den Home-Verzeichnispfad des aktuell angemeldeten Benutzers zurückgibt.

Es verwendet die integrierte Passwortdatenbank oder das pwd-Modul, um nach dem Pfad des Home-Verzeichnisses zu suchen, und das pwd-Modul liefert die Kontodetails eines Benutzers wie einen Anmeldenamen und ein Passwort. Dieses Modul funktioniert auf allen Plattformen wie Windows und Linux.

Lassen Sie uns zum Beispiel das Home-Verzeichnis mit dem Modul os.path.expanduser abrufen. Siehe Code unten.

from os.path import expanduser

home_directory = expanduser("~")
print(home_directory)

Ausgang:

C:\Users\ammar

Der obige Code wurde unter Windows getestet, und die Ausgabe kann sich je nach Benutzer und Plattform ändern. Wenn wir den Pfad des Home-Verzeichnisses eines anderen Benutzers finden möchten, der derzeit nicht angemeldet ist, können wir den Namen des Benutzers nach dem Zeichen ~ im obigen Code hinzufügen.

Wir können auch zwei Pfade mit der Funktion os.path.join() verbinden, so wie den Pfad des Home-Verzeichnisses mit einem anderen Pfad verbinden. Wir können die Pfade, die wir verbinden möchten, innerhalb der Funktion os.path.join() übergeben.

Verbinden wir zum Beispiel den obigen Pfad mit einem anderen Pfad, indem wir die Funktion os.path.join() verwenden. Siehe Code unten.

from os.path import expanduser, join

home_directory = expanduser("~")
new_directory = join(home_directory, "newPathName")
print(home_directory)
print(new_directory)

Ausgang:

C:\Users\ammar
C:\Users\ammar\newPathName

Im obigen Code haben wir den Home-Verzeichnispfad mit einem anderen Pfad verbunden. Wir können auch mehrere Pfade miteinander verbinden, z. B. 2 oder mehr.

Wir können innerhalb der Funktion join() kein Sonderzeichen wie Backslash \ einfügen, da der Backslash in Kombination mit einigen Zeichen nicht das richtige Ergebnis ausgibt. Wenn wir beispielsweise den obigen Pfad in newPathName\tpath2 ändern, enthält das Ergebnis ein Tabulatorzeichen, da \t als Tabulatorzeichen in einem String verwendet wird.

Wir empfehlen, jeden Pfad einzeln innerhalb der Funktion join() hinzuzufügen. Wenn wir beispielsweise einen anderen Pfad mit dem obigen Pfad verbinden möchten, müssen wir ihn als drittes Argument übergeben, und die Funktion join() fügt ihn an das Ende des neuen Pfads ein, und der umgekehrte Schrägstrich wird hinzugefügt automatisch.

Siehe Beispielcode unten.

join(path1, path2, path3, ....)

Stellen Sie sicher, dass Sie die Funktionen join() und expanduser() importieren, bevor Sie sie im Code verwenden. Überprüfen Sie die Bibliothek os.path.expanduser für weitere Details.

Holen Sie sich das Home-Verzeichnis mit der Bibliothek pathlib in Python

Wir können auch die Bibliothek pathlib verwenden, um den Pfad des Home-Verzeichnisses mit der Funktion home() zu erhalten. Lassen Sie uns zum Beispiel das Home-Verzeichnis mit der Bibliothek pathlib finden.

Siehe Code unten.

from pathlib import Path

home_directory = str(Path.home())
print(home_directory)

Ausgang:

C:\Users\ammar

Im obigen Code haben wir die Funktion str verwendet, um die Ausgabe der Funktion home() in einen String umzuwandeln. Dies funktioniert auf allen Plattformen, z. B. Windows und Linux; Die Ausgabe kann sich jedoch je nach Benutzer und Plattform ändern.

Wir können auch zwei oder mehr Pfade mit der Funktion PureWindowsPath().joinPath() der pathlib-Bibliothek verbinden. Der Startpfad wird innerhalb der Funktion PureWindowsPath() übergeben und der neue Pfad oder die neuen Pfade werden in der Funktion joinPath() hinzugefügt, um einen kombinierten Pfad zu erhalten.

Kombinieren wir zum Beispiel den obigen Pfad mit zwei Pfaden, indem wir die Funktion PureWindowsPath().joinPath() verwenden. Siehe Code unten.

from pathlib import Path, PureWindowsPath

home_directory = Path.home()
new_directory = PureWindowsPath(home_directory).joinpath("newPathName", "path2")
print(home_directory)
print(new_directory)

Ausgang:

C:\Users\ammar
C:\Users\ammar\newPathName\path2

Im obigen Code haben wir zwei Pfade hinzugefügt, aber wir können so viele Pfade hinzufügen, wie wir möchten, aber wir müssen den umgekehrten Schrägstrich innerhalb derselben Zeichenfolge vermeiden. Dies liegt daran, dass ein Backslash in Kombination mit einigen Sonderzeichen zu Problemen führt, z. B. \n fügt eine neue Zeile hinzu und \t fügt einen Tabulator in der Ausgabe hinzu.

Wir empfehlen, jeden Pfad einzeln innerhalb der Funktion joinPath() hinzuzufügen.

Achten Sie darauf, die Funktionen Path() und PureWindowsPath() zu importieren, bevor Sie sie im Code verwenden. Überprüfen Sie die pathlib-Bibliothek für weitere Details.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Python Directory