Sasvim je moguće da smo u životu naišli na toliko slučajeva da želimo znati koliko i koje datoteke postoje u direktoriju (mapi). Ili, ponekad moramo tražiti datoteku, a znamo njeno ime, ali ne znamo u kojoj se mapi nalazi. U tom slučaju jedina opcija koja nam preostaje jest potražiti datoteku u odredišnom direktoriju.
Mnogima od nas bi se činilo tako lako pomisliti; samo moramo otići do imenika i pogledati tamo. Ovo je moguća opcija, ali će ova opcija raditi samo ako imamo samo manji broj datoteka u tom direktoriju. Tek tada možemo ručno posjetiti taj direktorij i potražiti tamo prisutne datoteke. Ali, što u slučaju kada je velik broj datoteka, recimo tisuće datoteka prisutnih u odredišnom direktoriju. U tom slučaju, ova opcija neće raditi jer će trajati jako dugo (čak i mnogo dana) da se traži postoji li određena datoteka u odredišnom direktoriju gdje su prisutne tisuće datoteka. Čini se kao ono što bismo trebali učiniti ako moramo pronaći datoteku s njenim imenom unutar direktorija koji ima tisuće datoteka.
Možemo tražiti ime kroz file explorer, ali ako to učinimo, također će nam trebati dosta vremena, ne kao u prethodnoj opciji, ali da, puno vremena. To je zato što će file explorer skenirati svaku datoteku koja se nalazi u direktoriju, a mi moramo čekati toliko dugo dok se potpuno skeniranje diska ne završi.
Ali što ako kažemo da smo već dali imena svih datoteka prisutnih u odredišnom direktoriju ili putu. Tada će nam biti vrlo lako provjeriti je li ta navedena datoteka prisutna na ciljanoj stazi, a također pokazuje gdje trebamo dobiti imena svih datoteka prisutnih u odredišnom direktoriju.
Ako nam je dan popis imena svih datoteka prisutnih u direktoriju u tekstualnom obliku, samo moramo upisati naziv te određene datoteke u traku za pretraživanje. I tada će proći jedva sekunda da saznamo nalazi li se datoteka na popisu imena ili ne. Stoga možemo razumjeti koliko je važno imati metodu na kojoj možemo ispisati popis imena svih datoteka prisutnih u direktoriju ili stazi.
Python nam pruža takve metode gdje možemo ispisati popis imena, a jedna od takvih metoda je funkcija listdir() modula 'os'. Naučit ćemo ovu metodu listdir() u ovom vodiču i koristiti je u Python programu za ispis popisa imena svih datoteka prisutnih na navedenoj stazi.
b+ drveće
os.listdir() Metoda u Pythonu
Funkcija listdir() je funkcija koju pruža os modul, a korištenjem ove funkcije možemo ispisati popis imena svih datoteka prisutnih na navedenoj stazi. metodu listdir() također možemo koristiti ako želimo ispisati popis datoteka prisutnih u trenutnom radnom direktoriju (gdje se nalazi program). Možemo koristiti metodu listdir() kad god se od nas zahtijeva da dobijemo imena svih datoteka prisutnih u određenom direktoriju.
Sintaksa za funkciju os.listdir():
Slijedi sintaksa za korištenje funkcije listdir() iz os modula:
>> os.listdir(pathSpecified)
Parametri:
Kao što možemo vidjeti u gore navedenoj sintaksi, dali smo samo argument unutar metode listdir(). funkcija listdir() uzima sljedeći parametar staze:
Vrsta povrata:
Tip povrata za funkciju listdir() je 'list' jer vraća popis naziva svih datoteka prisutnih u navedenom direktoriju.
os.listdir() Metoda: Implementacija:
Da bismo razumjeli rad i implementaciju funkcije listdir(), koristit ćemo je u primjeru programa i iz nje ispisati popis naziva datoteka. Podijelili smo implementacijski dio funkcije listdir() na sljedeća dva dijela:
- Ispis naziva datoteka iz trenutnog radnog direktorija
- Ispis naziva datoteka s navedene staze
Koristit ćemo primjer programa za svaku kategoriju i dobiti nazive datoteka u svakoj metodi.
Metoda 1: Ispis naziva datoteka iz trenutnog radnog direktorija:
U ovoj metodi ćemo ispisati popis naziva datoteka iz trenutnog radnog direktorija koristeći drugu funkciju os modula, tj. funkciju getcwd(). Pogledajte sljedeći primjer programa kako biste razumjeli implementaciju ove metode:
Primjer 1:
Glumica Sai Pallavi
Pogledajte sljedeći Python program u kojem smo koristili metodu os.listdir() s argumentom staze:
# 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)
Izlaz:
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']
Kao što vidimo, imena svih datoteka prisutnih u našem trenutnom radnom direktoriju ispisuju se u izlazu programa.
Obrazloženje:
Nakon uvoza os modula u program, upotrijebili smo funkciju getcwd() da dobijemo putanju trenutnog radnog direktorija. Inicijalizirali smo varijablu s nazivom 'pathSpecified' i pohranili putanju trenutnog radnog direktorija u ovu varijablu. Nakon toga smo upotrijebili funkciju listdir() u drugoj inicijaliziranoj varijabli, tj., listOfFileNames, za pohranu imena svih datoteka u ovu varijablu. Dali smo inicijaliziranu varijablu za trenutnu radnu putanju kao argument u funkciji listdir(), i na kraju, ispisali smo popis svih imena u izlazu pomoću izjave za ispis.
Ako ne želimo koristiti nijednu drugu funkciju u našem programu, tada također možemo dobiti sva imena datoteka iz trenutnog direktorija u kojem se nalazi program. Samo moramo napustiti funkciju listdir() umjesto pružanja putanje bilo kojeg direktorija kao argumenta, a nakon toga će program, kada se izvrši, dati popis svih imena prisutnih u trenutnom direktoriju kao rezultat u izlazu. Pogledajte sljedeći primjer programa kako biste razumjeli implementaciju ove metode:
Primjer 2:
Pogledajte sljedeći Python program u kojem smo koristili metodu os.listdir() bez ikakvih argumenata:
# 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)
Izlaz:
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']
Kao što vidimo, popis naziva svih datoteka prisutnih u trenutnoj datoteci u kojoj je instaliran Python ispisuje se u izlazu nakon što se program izvrši.
koliko nula za jedan milijun
Obrazloženje:
U ovom smo programu izostavili parametar staze i još uvijek dobivamo popis naziva svih datoteka prisutnih u trenutnom radnom direktoriju. Radije ćemo koristiti ovu metodu ako želimo dobiti popis imena svih datoteka iz trenutnog radnog direktorija. Budući da u ovoj metodi ne moramo koristiti nikakav argument niti definirati bilo koju varijablu putanje, i time štedi svaki dodatni red koda u našem programu i štedi naše vrijeme.
Metoda 2: Ispis naziva datoteka s navedene staze:
U ovoj metodi možemo dobiti popis naziva svih datoteka prisutnih u određenom direktoriju pružanjem navedene staze direktorija unutar funkcije listdir(). Možemo dobiti putanju direktorija iz opcije svojstava datoteke, a zatim možemo koristiti istu datoteku u programu. Pogledajte sljedeći primjer programa kako biste razumjeli implementaciju ove metode:
Primjer 3:
Pogledajte sljedeći Python program u kojem smo koristili metodu os.listdir() s argumentom staze:
# 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)
Izlaz:
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']
Kao što vidimo, imena svih datoteka prisutnih u navedenom direktoriju ispisuju se u izlazu programa.
Obrazloženje:
Nakon uvoza os modula u program, prvo smo definirali putanju direktorija iz kojeg želimo ispisati popis svih imena datoteka inicijaliziranjem varijable putanje. Nakon toga, upotrijebili smo inicijaliziranu varijablu putanje unutar metode listdir() da koristimo putanju kao argument u funkciji. Na kraju, upotrijebili smo još jednu inicijaliziranu varijablu (listOfFileNames) unutar izjave za ispis za ispis rezultata u izlazu.
Zaključak
Naučili smo o metodi listdir() os modula u ovom vodiču i shvatili važnost ove funkcije. Učimo o sintaksi ove funkcije, a nakon toga, učimo metode za korištenje ove funkcije. Na kraju smo koristili program Python s funkcijom listdir() da bismo razumjeli implementaciju svake metode.