Python basename

Python basename

Python gir forskjellige metoder for å samhandle med operativsystemet for å manipulere filnavn og katalognavn gjennom OS -modulen. Denne artikkelen diskuterer en av Python-innebygde metodene som brukes til å hente basenavnet til en fil med en gitt bane: OS.sti.Basename () -metode, som lar oss trekke ut filnavnet fra en spesifisert bane.

Vi må bruke OS.sti.basename () i kode ved å importere OS -modulen. Denne metoden OS.sti.Basename () bruker videre en delt () -funksjon for å dele banestrengen i et par som vil returnere hode og hale. Hodedelen er for katalognavnet, og haledelen blir returnert av OS.sti.basename () -metode. La oss ha mer detaljer om denne metoden.

Syntaks av Python basename:

For å få filnavnet som er basenavnet fra en bane, må vi bruke denne syntaksen.

OS.sti.basename (sti)

OS.Sti er en undermodus av OS-modulen for manipulasjon av banenavn. Så til å begynne med må vi importere OS -modulen for denne basename -metoden.

Parameteren bestått i Python basename:

Dette os.sti.Navn () Metode godtar bare den spesifiserte banestrengen som representerer en filsystemsti.

Returverdien i Python basename:

OS.sti.basename () vil returnere en verdi i strengen til en gitt bane som er basenavnet til filen. Nå vil vi ha et enkelt implementeringseksempel på hvordan dette operativsystemet.sti.Basename () -metode fungerer.

Eksempel 1:

I Windows og UNIX har vi forskjellige formater for å trekke ut basenavnet til en fil med den spesifiserte banen, så i dette eksemplet skal vi trekke ut basenavnet med syntaks og Unix syntaks. Til å begynne med har vi et vinduseksempel.

Vinduet bruker en backslash '\' separator; Vi kan sjekke eller bekrefte denne separatoren gjennom operativsystemet.sti.SEP () -metode. En variabel 'file_dir' har banen “brukere \ abc \ nedlastinger \ My Window” som er filkatalognavnet, og 'File_name' har en bane gitt 'brukere \ ABC \ nedlastinger \ My Window \ Index.html '. Begge variabelen returnerer et basenavn på filen med vindussyntaks. Vi vil også skrive ut vindusseparatoren via en metode OS.sti.Sep ()

Importer OS.sti
file_dir = OS.sti.Basename ("Brukere \ ABC \ Last ned \ Mitt vindu")
print (file_dir)
File_name = OS.sti.basename ("Brukere \ abc \ nedlastinger \ Mitt vindu \ indeks.html ")
print (file_name)
trykk (OS.sti.september

Konsollskjermen viser utdatautskriften Filkatalognavnet, filbasenavn og separatorskilt.

Nå har vi en UNIX -separator brukt i dette eksemplet nedenfor. Unix bruker Slash '/' som baneseparator. Vi kan få denne separatoren ved å skrive ut OS.sti.SEP () -metode.

Importer OS.sti
file_dir = OS.sti.basename ("/ nedlastinger/ min unix")
print (file_dir)
File_name = OS.sti.basename ("/nedlastinger/min unix/unix.tekst")
print (file_name)

Dette er utdataene fra ovennevnte kode, som vist nedenfor.

Eksempel 2:

La oss ha et eksempel på å trekke ut filnavnet via metoden OS.sti.basename (). Vi har importert OS.Sti for å få tilgang til OS.sti.Basename () -metode i akkurat dette eksemplet. Vi har 'basename' som vil returnere et filbasenavn som vi har tildelt i OS.sti.basename. Med trykket () uttalelsen vil vi ha et basenavn.

Importer OS.sti
basename = OS.sti.Basenavn ("/Hjem/eksempel/Eksempelfil.tekst")
Print (basename)

Her har vi “/Hjem/eksempel/” som et banenavn og “Eksempel på File.txt ”som et basenavn som vises som utgang nedenfor.

Eksempel 3:

I dette eksemplet finner vi basenavnet til katalogen eller mappenavnet. Mappenavnet eller katalogen har også et basenavn i den komplette banen. For dette eksemplet har vi 'dokumenter' som et basenavn fra banen '/Home/MyDocuments/Documents' som er bestått i OS.sti.basename (). En variabel 'basename' vil returnere en utgang som kalles i print () -funksjonen.

Importer OS.sti
basename = OS.sti.basename ("/home/mydocuments/documents")
Print (basename)

Vi har fått 'dokumenter' som et basenavn fra ovennevnte kode. Utgangen vises i skjermbildet nedenfor.

Eksempel 4:

For å få et basenavn fra en URL må vi importere et bibliotek fra Urllib -standardpakkemodulen som er URLParse. Dette vil hjelpe oss å dele opp URL -strenger i komponenter eller kombinere URL -strengen igjen i komponenter.

Dette eksemplet vil få et URL -basenavn for å danne en variabel 'URL' som har streng URL 'https: // docs.Python.org/3/last ned.html '. URLen sendes i URLParse () -metoden som et argument som vil dele opp nettadressen i deler. Denne urlparse lagres i en ny variabel, 'x' som vil vise den delte banestrengen til nettadressen. Denne gangen tar vi OS.sti.basename () gjennom utskriftserklæring.

Importer OS
Fra urllib.Parse import urlparse
url = "https: // dokumenter.Python.org/3/last ned.html "
x = urlparse (url)
trykk (x.sti)
trykk (OS.sti.basename (x.sti))

Viser den delte URL -strengen og basenavnet fra URLen som nedenfor:

Eksempel 5:

Dette eksemplet bruker en metode OS.sti.split () for å returnere et par 'hode' og 'hale' individuelt. For dette må vi passere en spesifisert bane som et argument i OS.sti.Split () -metode. Vi vil få et 'hode' og 'hale' separat gjennom en utskriftserklæring.

Importer OS
sti = "/brukere/desktop/artikkel/python/kode.py "
head_tail = OS.sti.split (sti)
print (head_tail)

Du kan se utdataene fra denne koden da den viser hodedelen og haledelen individuelt.

Eksempel 6:

Vi har trukket ut basenavnet og utvidelsen som er definert nå i dette eksemplet. Vi vil trekke ut filnavnet uten utvidelse ved hjelp av en annen metode OS.sti.splitext (). Denne metoden vil bare gi basenavnet som definert i OS.sti.basename ().

Vi har tildelt et banenavn som 'Hjem/eksempel/eksempel3.txt 'i en variabel' basename '. Bruk indeks som '0' for å få basename uten forlengelse.

Importer OS.sti
Path_name = "Hjem/eksempel/eksempel3.tekst"
basename = OS.sti.splitext (OS.sti.basename (path_name)) [0]
Print (basename)

Vi har en basenameutgang som 'Eksempel3' uten utvidelse på konsollskjermen.

Konklusjon

Vi har gått gjennom alle mulige måter å få basename fra den spesifiserte banen i denne artikkelen. Vi har også demonstrert Get Basename i Windows og UNIX med de forskjellige separatorene. Nå forhåpentligvis vil denne funksjonen gi deg en sterk forståelse.