In Python, wie sollte man den zweitletzten Verzeichnisnamen in einem Pfad extrahieren?

Ich habe eine Zeichenfolge wie die folgenden:

/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore 

Wie soll ich das "2.0.24" aus dieser Zeichenfolge extrahieren? Ich bin mir nicht sicher, wie man den String mit den Schrägstrichen aufspaltet (um das zweite letzte Element der resultierenden Liste zu extrahieren) und ich bin mir nicht sicher, ob das ein guter Ansatz wäre. Was ich jetzt habe, ist folgendes:

 "/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore".split("/RootCore")[0].split("AnalysisTop/")[1] 

5 Solutions collect form web for “In Python, wie sollte man den zweitletzten Verzeichnisnamen in einem Pfad extrahieren?”

 '/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore'.split('/')[-2] 

Gerade geteilt nach dem / Symbol dann den zweiten Index aus dem letzten drucken.

 >>> x = "/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore" >>> y = x.split('/') >>> y[-2] '2.0.24' 

Sie können auch:

 import os x = "/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore" os.path.split(os.path.split(x)[0])[1] 

Ergebnisse in

 '2.0.24' 
 import re str1 = "/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore" t = re.findall("[0-9][.]*",str1) print ("".join(t)) 

Sie können die regexfindall Methode verwenden. t gibt eine Liste zurück, also mit join() .

Ausgabe;

 >>> 2.0.24 >>> # print (t) >>> ['2.', '0.', '2', '4'] >>> 
 path = "/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisTop/2.0.24/RootCore" path_dirs = path.split("/") >>>> path_dirs >>>> ['', 'cvmfs', 'atlas.cern.ch', 'repo', 'sw', 'ASG', 'AnalysisTop', '2.0.24', 'RootCore'] >>>> print path_dirs[-2] >>>> '2.0.24' 
  • Eine bessere Möglichkeit, a = b + a zu machen?
  • Eine exakte Übereinstimmung für String finden
  • Wie bekomme ich einen Funktionsnamen als String in Python?
  • Verwenden von Python zum Ersetzen oder Austauschen von Teilstrings in einer Datei
  • Wie finde ich Emoticons in einer Saite mit Python?
  • Ausgewählte wissenschaftliche Zahl aus String extrahieren
  • Python - Konvertieren von String in Integer für Randeingaben
  • Drucken Sie den Quellcode in python aus
  • Einen String in einen Iterator aufteilen
  • Spalte einen String in Großbuchstaben
  • Streifenräume / tabs / newlines - python
  • Python ist die beste Programmiersprache der Welt.