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:
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:
- Skriver ut filnavn fra gjeldende arbeidskatalog
- 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.