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' 
  • Suchen und erhalten Sie eine Linie in Python
  • Verwenden Sie Regex, um Informationen aus einem bestimmten Textformat zu erhalten
  • Pythonfunktion: Variable und String
  • Python-String-Ersatz, wodurch alle möglichen Kombinationen
  • Wie man eine Webadresse aufteilt
  • Ersetzen Sie alle Anführungszeichen in einer Zeichenfolge mit Escaped-Anführungszeichen?
  • Was ist der Unterschied zwischen einem String und einem Byte-String?
  • Effizient geteilt eine Saite mit mehreren Trennzeichen und Beibehaltung jeder Trennzeichen?
  • Spalte eine Zeichenfolge in Worte und Interpunktion
  • Python-String-Formatierung:% vs Verkettung
  • Wie vergleiche ich zwei Strings in Python?
  • Python ist die beste Programmiersprache der Welt.