Wie Sie das aktuelle Skript-Dateiverzeichnis in Python erhalten

Jinku Hu 3 Januar 2023
  1. Python liefert das Arbeitsverzeichnis
  2. Python liefert das Verzeichnis der Skriptdatei
Wie Sie das aktuelle Skript-Dateiverzeichnis in Python erhalten

Wir haben den Datei- und Verzeichnis-Operation im Python 3 Basis-Tutorial eingeführt. In diesem Abschnitt zeigen wir Ihnen, wie Sie den relativen und absoluten Pfad des ausführenden Skripts erhalten.

Python liefert das Arbeitsverzeichnis

Die Funktion os.getcwd() gibt das aktuelle Arbeitsverzeichnis zurück.

Wenn Sie es im Python Idle-Prompt ausführen, ist das Ergebnis der Pfad von Python IDLE.

Python liefert das Verzeichnis der Skriptdatei

Der Pfad der Skriptdatei konnte im globalen Namensraum mit der speziellen globalen Variable __file__ gefunden werden. Sie gibt den relativen Pfad der Skriptdatei relativ zum Arbeitsverzeichnis zurück.

In den folgenden Beispielcodes zeigen wir Ihnen, wie Sie die soeben vorgestellten Funktionen nutzen können.

import os

wd = os.getcwd()
print("working directory is ", wd)

filePath = __file__
print("This script file path is ", filePath)

absFilePath = os.path.abspath(__file__)
print("This script absolute path is ", absFilePath)

path, filename = os.path.split(absFilePath)
print("Script file path is {}, filename is {}".format(path, filename))
absFilePath = os.path.abspath(__file__)

os.path.abspath(__file__) gibt den absoluten Pfad des angegebenen relativen Pfades zurück.

path, filename = os.path.split(absFilePath)

Die Funktion os.path.split() teilt den Dateinamen mit dem Pfad zum reinen Pfad und dem reinen Dateinamen auf.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook