Python-Programm zum Abrufen des Dateinamens aus dem Dateipfad

Python-Programm zum Abrufen des Dateinamens aus dem Dateipfad

In diesem Artikel werden wir uns das Programm ansehen, um den Dateinamen aus dem angegebenen Dateipfad in der Programmiersprache Python zu ermitteln. Während der Automatisierung kann es vorkommen, dass wir den Dateinamen aus dem Dateipfad extrahieren müssen.

Besser ist es, Kenntnisse zu haben über:

Methode 1: Python OS-Modul

Beispiel 1: Holen Sie sich den Dateinamen aus dem Pfad ohne Erweiterung split()

Pythons Teilt() Die Funktion unterteilt den angegebenen Text mithilfe des definierten Trennzeichens in eine Liste von Zeichenfolgen und gibt eine Liste von Zeichenfolgen zurück, die durch das bereitgestellte Trennzeichen unterteilt wurden.

Python3




import> os> path> => 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print> (os.path.basename(path).split(> '/'> )[> -> 1> ])>

Ausgabe:

VALORANT.exe 

Beispiel 2: Rufen Sie den Dateinamen mithilfe von os.path.basename aus dem Dateipfad ab

Der Basisname im angegebenen Pfad kann mit der integrierten Python-Funktion os.path.basename() ermittelt werden. Die Funktion path.basename() akzeptiert ein Pfadargument und gibt den Basisnamen des Pfadnamens path zurück.

Python3




import> os> file_path> => 'C:/Users/test.txt'> # file path> # using basename function from os> # module to print file name> file_name> => os.path.basename(file_path)> print> (file_name)>

Ausgabe:

test.txt 

Beispiel 3: Ermitteln Sie den Dateinamen mithilfe von os aus dem Dateipfad. Splitext

Bei dieser Methode erhalten Sie am Ende eine Datei mit einer Erweiterung. Was aber, wenn wir nur den Dateinamen ohne Erweiterung oder nur Erweiterungen benötigen? Hier Splitext Funktion im OS-Modul kommt ins Spiel. Diese Methode gibt ein Tupel von Zeichenfolgen zurück, die Dateinamen und Text enthalten, und wir können mithilfe der Indizierung darauf zugreifen.

Beispiel:

Python3




import> os> file_path> => 'C:/Users/test.txt'> file_name> => os.path.basename(file_path)> file> => os.path.splitext(file_name)> print> (> file> )> # returns tuple of string> print> (> file> [> 0> ]> +> file> [> 1> ])>

Ausgabe:

('test', '.txt') test.txt 

Methode 2: Rufen Sie den Dateinamen aus dem Dateipfad ab mit Pathlib

Das Python Pathlib-Paket bietet eine Reihe von Klassen, die Dateisystempfade mit einer für viele Betriebssysteme geeigneten Semantik beschreiben. Die Standard-Dienstprogrammmodule für Python umfassen dieses Modul. Obwohl Stengel ist eines der Dienstprogrammattribute, das das Extrahieren des Dateinamens aus dem Link ohne Erweiterung ermöglicht. Wenn wir eine Erweiterung mit der Datei wünschen, können wir Namensattribute verwenden

Beispiel:

Python3




from> pathlib> import> Path> file_path> => 'C:/Users/test.txt'> # stem attribute extracts the file> # name> print> (Path(file_path).stem)> # name attribute returns full name> # of the file> print> (Path(file_path).name)>

Ausgabe:

test test.txt 

Methode 3: Rufen Sie den Dateinamen aus dem Dateipfad ab mit Reguläre Ausdrücke

Wir können einen regulären Ausdruck verwenden, um den Dateinamen mit dem spezifischen Muster abzugleichen.

 Pattern -  [w]+?(?=.) 

Dieses Muster ist in 3 Muster unterteilt

  • [w] entspricht den Wörtern innerhalb der Menge
  • +? stimmt mit der Zeichenfolge überein, wenn sie zuvor nur einmal vorhanden war ? Stichwort
  • (?=) entspricht allen Zeichen ohne Zeilenumbruch und stoppt unbedingt bei.

Beispiel:

Python3




import> re> file_path> => 'C:/Users/test.txt'> pattern> => '[w-]+?(?=.)'> # searching the pattern> a> => re.search(pattern, file_path)> # printing the match> print> (a.group())>

Ausgabe:

test 

Methode 4: Verwenden Sie die integrierte Python-Funktion split(), um den Dateipfad in eine Liste einzelner Komponenten aufzuteilen, und verwenden Sie dann die Methode rsplit():

Sie können die integrierte Python-Funktion split() verwenden, um den Dateipfad in eine Liste einzelner Komponenten aufzuteilen, und dann die Methode rsplit() verwenden, um die letzte Komponente (die der Dateiname und die Erweiterung sein sollte) in eine Liste aufzuteilen enthält den Dateinamen und die Erweiterung. Mithilfe der Indizierung können Sie dann den Dateinamen aus dieser Liste extrahieren.

Hier ist ein Beispiel, wie dies geschehen kann:

Python3




def> get_file_name(file_path):> > file_path_components> => file_path.split(> '/'> )> > file_name_and_extension> => file_path_components[> -> 1> ].rsplit(> '.'> ,> 1> )> > return> file_name_and_extension[> 0> ]> # Example usage> file_path> => 'C:/Users/test.txt'> result> => get_file_name(file_path)> print> (result)> # Output: 'test'>

Ausgabe: Test

Bei diesem Ansatz wird zunächst die Funktion „split()“ verwendet, um den Dateipfad in eine Liste einzelner Komponenten aufzuteilen, die durch das Zeichen „/“ getrennt sind. Die Methode rsplit() wird dann verwendet, um die letzte Komponente (die der Dateiname und die Erweiterung sein sollte) in eine Liste aufzuteilen, die den Dateinamen und die Erweiterung enthält, wobei das Zeichen „.“ als Trennzeichen verwendet wird. Aus dieser Liste wird dann mittels Indizierung der Dateiname extrahiert. Dieser Ansatz funktioniert für jeden Dateipfad und jede Dateierweiterung, solange der Dateipfad in einem Format vorliegt, das mit den Methoden split() und rsplit() geparst werden kann.