logo

Python os.listdir()-metoden

Det er ganske mulig at vi har kommet over så mange tilfeller i livet vårt hvor vi ønsker å vite hvor mange og hvilke filer som finnes i en katalog (mappe). Eller, noen ganger må vi se etter en fil, og vi vet navnet, men vi vet ikke i hvilken mappe den er til stede. I så fall er det eneste alternativet som er igjen for oss å se etter filen i målkatalogen.

Nå virker det så lett for mange av oss å tenke; vi må bare gå til katalogen og se der. Dette er et mulig alternativ, men dette alternativet vil bare fungere når vi bare har et mindre antall filer i den katalogen. Først da kan vi besøke den katalogen manuelt og se etter filene som finnes der. Men, hva i tilfelle hvor et stort antall filer, la oss bare si tusenvis av filer tilstede i målkatalogen. I så fall vil ikke dette alternativet fungere fordi det kommer til å ta veldig lang tid (til og med mange dager) å søke om en spesifikk fil finnes i målkatalogen der tusenvis av filer er til stede. Det virker som hva vi bør gjøre hvis vi må finne en fil med navnet i en katalog med tusenvis av filer.

Vi kan søke etter navnet gjennom filutforsker, men hvis vi gjør det, vil det også ta mye tid, ikke som i forrige alternativ, men ja, mye tid. Dette er fordi filutforsker vil skanne gjennom hver fil som finnes i katalogen, og vi må vente så mye til fullstendig skanning av disken er ferdig.

Men hva om vi sier at vi allerede har oppgitt navnene på alle filene som finnes i målkatalogen eller banen. Da vil det være veldig enkelt for oss å sjekke om den spesifiserte filen er til stede i den målrettede banen, og den viser også hvor vi trenger å hente navnene på alle filene som er tilstede i målkatalogen.

Hvis vi får en liste over navn på alle filene som finnes i en katalog i tekstform, må vi bare skrive inn navnet på den spesifikke filen i søkefeltet. Og da vil det knapt ta et sekund å finne ut om filen er til stede i navnelisten eller ikke. Dermed kan vi forstå hvor viktig det er å ha en metode der vi kan skrive ut listen over navn på alle filer som finnes i en katalog eller bane.

Python gir oss slike metoder der vi kan skrive ut listen over navn, og en slik metode er listdir()-funksjonen til 'os'-modulen. Vi skal lære denne listdir()-metoden i denne opplæringen og bruke denne i et Python-program for å skrive ut en liste over navn på alle filer som er tilstede i den angitte banen.

legg til i array java

os.listdir() Metode i Python

Listdir()-funksjonen er en funksjon som leveres av os-modulen, og ved å bruke denne funksjonen kan vi skrive ut en liste over navn på alle filene som finnes i den angitte banen. listdir()-metoden kan også brukes hvis vi ønsker å skrive ut listen over filer som finnes i gjeldende arbeidskatalog (hvor programmet er til stede). Vi kan bruke listdir()-metoden når vi er pålagt å få navnene på alle filene som finnes i en spesifisert katalog.

Syntaks for os.listdir() funksjon:

Følgende er syntaksen for bruk av listdir()-funksjonen fra os-modulen:

 >> os.listdir(pathSpecified) 

Parametere:

Som vi kan se i den ovenfor gitte syntaksen, har vi bare gitt et argument inne i listdir()-metoden. listdir()-funksjonen tar følgende baneparameter:

    banespesifisert:Her representerer pathSpecified-variabelen banen til målkatalogen der vi ønsker å vite navnet på alle filene. Dette er et valgfritt argument i listdir()-funksjonen, og hvis vi ikke oppgir en spesifisert bane inne i funksjonen, vil den skrive ut alle filnavnene fra gjeldende arbeidskatalog.

Returtype:

Returtypen for listdir()-funksjonen er 'list' ettersom den returnerer en liste over navn på alle filene som finnes i den angitte katalogen.

os.listdir() Metode: Implementering:

For å forstå hvordan listdir()-funksjonen fungerer og implementeres, vil vi bruke den i et eksempelprogram og skrive ut listen over filnavn fra den. Vi har delt inn implementeringsdelen av listdir()-funksjonen i følgende to deler:

  1. Skriver ut filnavn fra gjeldende arbeidskatalog
  2. Skriver ut filnavn fra den angitte banen

Vi vil bruke et eksempelprogram for hver kategori og få filnavnene i hver metode.

Metode 1: Skrive ut filnavn fra gjeldende arbeidskatalog:

I denne metoden vil vi skrive ut listen over filnavn fra gjeldende arbeidskatalog ved å bruke en annen funksjon i os-modulen, det vil si getcwd()-funksjonen. Se på følgende eksempelprogram for å forstå implementeringen av denne metoden:

Eksempel 1:

Se på følgende Python-program der vi brukte os.listdir()-metoden med path-argument:

navn på sminkeprodukter
 # Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Produksjon:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Som vi kan se, er navnene på alle filene som finnes i vår nåværende arbeidskatalog skrevet ut i programmets utdata.

Forklaring:

Etter å ha importert os-modulen i programmet, har vi brukt getcwd()-funksjonen for å få banen til gjeldende arbeidskatalog. Vi har initialisert en variabel med navnet 'pathSpecified' og lagret banen til gjeldende arbeidskatalog i denne variabelen. Etter det har vi brukt listdir()-funksjonen i en annen initialisert variabel, dvs. listOfFileNames, for å lagre navnet på alle filene i denne variabelen. Vi har gitt initialisert variabel for gjeldende arbeidsbane som et argument i listdir()-funksjonen, og til slutt skrev vi ut listen over alle navn i utdataene ved å bruke en print-setning.

Hvis vi ikke ønsker å bruke noen annen funksjon i programmet vårt, kan vi også hente alle filnavnene fra gjeldende katalog der programmet er til stede. Vi må bare forlate listdir()-funksjonen i stedet for å gi en hvilken som helst katalogbane som et argument, og etter det vil programmet, når det kjøres, gi listen over alle navnene som er tilstede i gjeldende katalog som et resultat i utdataene. Se på følgende eksempelprogram for å forstå implementeringen av denne metoden:

Eksempel 2:

Se på følgende Python-program der vi brukte os.listdir()-metoden uten noe argument:

 # Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Produksjon:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Som vi kan se, skrives en liste over navn på alle filene som finnes i den gjeldende filen der Python er installert ut i utdataene etter at programmet er kjørt.

kylie jenner søsken

Forklaring:

I dette programmet har vi utelatt baneparameteren og får fortsatt listen over navn på alle filene som finnes i gjeldende arbeidskatalog. Vi vil foretrekke å bruke denne metoden hvis vi ønsker å få listen over alle filenes navn fra gjeldende arbeidskatalog. For i denne metoden trenger vi ikke å bruke noe argument eller definere noen stivariabel, og dermed sparer den en ekstra kodelinje i programmet vårt og sparer tid.

Metode 2: Skrive ut filnavn fra spesifisert bane:

I denne metoden kan vi få listen over navn på alle filene som er tilstede i en spesifisert katalog ved å angi den angitte banen til katalogen i listdir()-funksjonen. Vi kan hente banen til katalogen fra filens egenskapsalternativ, og så kan vi bruke samme fil i programmet. Se på følgende eksempelprogram for å forstå implementeringen av denne metoden:

Eksempel 3:

Se på følgende Python-program der vi brukte os.listdir()-metoden med path-argument:

 # Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames) 

Produksjon:

 Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Som vi kan se, skrives navnene på alle filene som finnes i den angitte katalogen ut i programmets utgang.

Forklaring:

Etter å ha importert os-modulen i programmet, har vi først definert banen til katalogen der vi ønsker å skrive ut listen over alle filnavn ved å initialisere en banevariabel. Etter det brukte vi den initialiserte banevariabelen inne i listdir()-metoden for å bruke banen som et argument i funksjonen. Til slutt brukte vi en annen initialisert variabel (listOfFileNames) inne i print-setningen for å skrive ut resultatet i utdataene.

Konklusjon

Vi lærte om listdir()-metoden til os-modulen i denne opplæringen og forsto viktigheten av denne funksjonen. Vi lærer om syntaksen til denne funksjonen, og etter det lærer vi metodene for å bruke denne funksjonen. Til slutt brukte vi Python-programmet med listdir()-funksjonen for å forstå implementeringen av hver metode.