Hvordan å Liste Filer i en Mappe ved Hjelp av Python?

I denne opplæringen, er vi dekker alt du trenger å vite om hvordan å liste filer i en mappe ved hjelp av Python.

Python er en generell språk som brukes i en rekke felt som Science Data -, Maskin-Læring, og selv i Web-Utvikling. Det synes å være noen begrensning i anvendelsen av Språket Python.

Derfor, det virker ganske trivielt Python kan brukes til å liste filer og kataloger i et system., Målet med denne artikkelen er å opplyse leseren om måter å liste filer i et system ved hjelp av Python.

en Liste over Alle Filer i en Mappe ved Hjelp av Python

i den hensikt av å samhandle med kataloger i et system ved hjelp av Python, os biblioteket er brukt.

1. Ved å bruke ‘os’ library

Den metoden som vi kommer til å trene for vårt motiv er listdir(). Som navnet antyder, ligger det brukes for å vise elementer i mapper.,

# Importing the os libraryimport os# The path for listing itemspath = '.'# The list of itemsfiles = os.listdir(path)# Loop to print each filename separatelyfor filename in files:print(filename)

Output:

game_file.pyhi-lo_pygame.pyJournaldevlist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

Linux-brukere kan lett matche over utgang ved hjelp av standard ls – kommandoen i terminalen.

Liste Elementer ved hjelp av ‘ls’ – kommandoen

Som vi kan se resultatene av hver metode kamper.

2., Ved å bruke ‘glob’ library

glob er for det meste et filnavn mønster matchende bibliotek, men det kan brukes for å vise elementene i den gjeldende katalogen ved:

Output:

game_file.pyhi-lo_pygame.pyJournaldevlist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

jokertegnet '*' brukes for å matche alle elementene i den gjeldende katalogen. Siden vi ønsker å vise elementene i gjeldende katalog, trenger vi å slå av den rekursive arten av glob() funksjon.

3., Listen bare filer i gjeldende mappe

I de nevnte metodene, python-koden var å returnere alle elementene i den gjeldende katalogen, uavhengig av deres natur. Vi kan trekke ut bare filer ved hjelp av path.isfile() funksjon innenfor os bibliotek.

Output:

game_file.pyhi-lo_pygame.pylist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

I over kodebiten, Liste Forståelse brukes til å filtrere ut bare de elementene som er egentlig en fil.,

en Annen viktig ting å merke seg her er at koden ovenfor ikke fungerer for andre kataloger som variabel 'f' er ikke en absolutt sti, men en relativ bane til gjeldende katalog.

en Liste over Alle Filer i en Mappe med Undermapper

for å skrive ut filer i en mappe og dens undermapper, vi trenger å krysse dem med undermapper.

1. Ved å bruke ‘os’ library

ved hjelp av walk() metode, kan vi gå hver undermappe i en katalog, en etter en.,

Output:

os.walk() metoden bare følger hver undermappe og pakker ut filene i en top-down måte som standard. Det er tre iterators brukt til å gå gjennom resultatet av os.walk() funksjon:

  • path – Denne variabelen inneholder den nåværende katalogen funksjon er å observere under en viss gjentakelse
  • folders – Denne variabelen er en liste av kataloger inne i 'path' – katalogen.,
  • files – En liste over filer i 'path' – katalogen.

join() metoden er brukt til å sette sammen den fil med morselskapet katalog, og gi oss den relative banen til filen.

2. Ved å bruke ‘glob’ library

Lik prosedyren ovenfor, glob kan undermapper besøk hver katalog og trekke ut alle elementer og returnere dem.,

Output:

'**' symbolet brukes sammen med path-variabelen forteller glob() funksjonen til å sammenligne filer i enhver underkatalog. '*' forteller funksjonen for å matche med alle elementer i en mappe.

Siden vi ønsker å trekke ut bare filene i den komplette katalogen, vi filtrere ut filer ved hjelp av isfile() funksjon brukt før.

en Liste over Alle Undermapper i en Mappe

i Stedet for å liste filer, kan vi liste opp alle underkatalogene til stede i en bestemt katalog.,

Output:

./Documents/Journaldev

Det mindre forskjell mellom liste-filer og kataloger er det utvalget av iterator under prosessen med os.walk() funksjon. For filer, kan vi iterere over filer variabel. Her, vi loop over mapper variabel.

Liste Filer i en Katalog med Absolutt Sti

Når vi vet hvordan å liste filer i en katalog, så viser den absolutte banen er en bit av kaken. abspath() metoden gir oss den absolutte banen til en fil.,

Output:

En ting å merke seg her er at abspath() må være utstyrt med den relative banen til den filen, og som er formålet med join() funksjon.

Liste Filer i en Mappe ved å Matche Mønstre

Det er flere måter å filtrere ut filnavn matchende et bestemt mønster. La oss gå gjennom hver av dem en etter en.

1. Ved å bruke ‘fnmatch’ library

Som navnet antyder, fnmatch er et filnavn mønster matchende bibliotek., Ved hjelp av fnmatch med vår standard filnavn utpakking av biblioteker, kan vi filtrere ut de filer som passer til et bestemt mønster.

Output:

List of files containing "file" in them./Documents/game_file.py./Documents/list_files1.py./Documents/list_files.py

fnmatch() funksjon som tar to parametere, filnavn, fulgt av mønster for å bli matchet. I koden ovenfor, ser vi på alle filer som inneholder ordet file i dem.

2. Ved å bruke ‘glob’ library

Som vi har nevnt før, glob's primære formål er filnavnet pattern matching.,

Output:

./Documents/list_files1.py

De ovennevnte pattern matching på regulære uttrykk '**/**.*' kan forklares som:

3. Ved å bruke ‘pathlib’ library

pathlib følger et objekt-orientert måte å samhandle med filsystemet. rglob() funksjon i bibliotek kan brukes til å undermapper ekstrakt liste over filer gjennom en bestemt Bane objekt.

Disse listen over filer kan filtreres ved hjelp av et mønster i rglob() funksjon.,

Output:

Documents/my_program.cppDocuments/Journaldev/mastermind.py

De ovennevnte kodebiten brukes til å vise alle filer som begynner med bokstaven 'm'.

Liste Filer i en Katalog med en Bestemt Utvidelse

Liste filer med en bestemt filtype i Python er noe som ligner på pattern matching. For dette formål, må vi lage et mønster med hensyn til den file extension.

Output:

fnmatch() funksjonen filtrerer ut de filene som slutter med '.py', som er python-filer., Hvis vi ønsker å trekke ut filer med ulike utvidelser, så har vi for å endre denne delen av koden. For eksempel, for å hente bare C++ – filer, '.cpp' må brukes.

Dette oppsummerer måter å hente liste over filer i en mappe ved hjelp av Python.

Konklusjon

Det kan være flere måter å løse ethvert problem for hånden, og den mest praktiske er ikke alltid svaret. Med hensyn til denne artikkel, en Python-programmer må du være oppmerksom på alle måter vi kan vise en liste over filene i en katalog.

Share

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *