Wie erhalte ich den aktuellen Dateipfad des aktuellen Verzeichnisses? Ich habe es versucht:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Aber ich möchte:
'C:\\python27\\'
Wie erhalte ich den aktuellen Dateipfad des aktuellen Verzeichnisses? Ich habe es versucht:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Aber ich möchte:
'C:\\python27\\'
NÜTZLICHE PFAD-EIGENSCHAFTEN IN PYTHON:
from pathlib import Path
#Gibt den Pfad des Verzeichnisses zurück, in dem Ihre Skriptdatei platziert ist
mypath = Path().absolute()
print('Absoluter Pfad: {}'.format(mypath))
#wenn Sie zu einer anderen Datei in den Unterverzeichnissen des zuvor erhaltenen Verzeichnispfads gehen möchten
filePath = mypath/'data'/'fuel_econ.csv'
print('Dateipfad : {}'.format(filePath))
#Um zu überprüfen, ob die Datei in diesem Verzeichnis vorhanden ist oder nicht
isfileExist = filePath.exists()
print('isfileExist : {}'.format(isfileExist))
#Um zu überprüfen, ob der Pfad ein Verzeichnis oder eine Datei ist
isadirectory = filePath.is_dir()
print('isadirectory : {}'.format(isadirectory))
#Um die Erweiterung der Datei zu erhalten
fileExtension = mypath/'data'/'fuel_econ.csv'
print('Dateierweiterung : {}'.format(filePath.suffix))
AUSGABE: DER ABSOLUTE PFAD IST DER PFAD, WO IHRE PYTHON-DATEI PLATZIERT IST
Absoluter Pfad : D:\Study\Machine Learning\Jupitor Notebook\JupytorNotebookTest2\Udacity_Scripts\Matplotlib
und seaborn Part2
Dateipfad : D:\Study\Machine Learning\Jupitor Notebook\JupytorNotebookTest2\Udacity_Scripts\Matplotlib
und seaborn Part2\data\fuel_econ.csv
isfileExist : True
isadirectory : False
Dateierweiterung : .csv
Ich habe festgestellt, dass die folgenden Befehle den vollständigen Pfad des übergeordneten Verzeichnisses eines Python 3 Skripts zurückgeben.
Python 3 Skript:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pathlib import Path
#Holen Sie den absoluten Pfad eines Python3.6 und höheren Skripts.
dir1 = Path().resolve() #Machen Sie den Pfad absolut, indem Sie alle symbolischen Links auflösen.
dir2 = Path().absolute() #Siehe Antwort von @RonKalian
dir3 = Path(__file__).parent.absolute() #Siehe Antwort von @Arminius
dir4 = Path(__file__).parent
print(f'dir1={dir1}\ndir2={dir2}\ndir3={dir3}\ndir4={dir4}')
BEMERKUNGEN !!!!
dir1
und dir2
funktionieren nur, wenn das Skript im aktuellen Arbeitsverzeichnis liegt, brechen jedoch in jedem anderen Fall ab.Path(__file__).is_absolute()
True
ist, erscheint die Verwendung der Methode .absolute()
in dir3 überflüssig.Erklärungslinks: .resolve(), .absolute(), Path(file).parent().absolute()
IPython
hat einen Zauberbefehl %pwd
, um das aktuelle Arbeitsverzeichnis zu erhalten. Es kann auf folgende Weise verwendet werden:
from IPython.terminal.embed import InteractiveShellEmbed
ip_shell = InteractiveShellEmbed()
present_working_directory = ip_shell.magic("%pwd")
In IPython Jupyter Notebook kann %pwd
direkt wie folgt verwendet werden:
present_working_directory = %pwd
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.