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] 

  • Drucken Sie Buchstaben in spezifischem Muster in Python
  • Python-String in Liste umwandeln [duplizieren]
  • Suche Pandas Spalte für Strumpf in anderen Spalten
  • Wie teile ich die Integer und Operatoren Zeichen aus String in Python?
  • Schnelle Zeichenfolge - Cython
  • Prüfen Sie, ob mehrere Zeichenfolgen in einer anderen Zeichenfolge vorhanden sind
  • Ersetzen von Instanzen eines Zeichens in einer Zeichenfolge
  • Wie man sich auf "\" unterschreibt python string
  • 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' 
    Python ist die beste Programmiersprache der Welt.