logo

Python os.listdir() metódus

Elképzelhető, hogy életünk során annyi olyan esettel találkoztunk, amikor tudni akarjuk, hány és milyen fájl található egy könyvtárban (mappában). Vagy néha meg kell keresnünk egy fájlt, és tudjuk a nevét, de nem tudjuk, hogy melyik mappában van. Ebben az esetben az egyetlen lehetőség marad számunkra, hogy megkeressük a fájlt a célkönyvtárban.

Most úgy tűnik, sokunk számára olyan könnyű gondolkodni; csak el kell mennünk a címtárba, és ott meg kell néznünk. Ez egy lehetséges opció, de ez az opció csak akkor működik, ha csak kisebb számú fájl van ebben a könyvtárban. Csak ezután tudjuk manuálisan meglátogatni azt a könyvtárat, és megkeresni az ott található fájlokat. De mi van abban az esetben, ha nagyszámú fájl, mondjuk több ezer fájl van jelen a célkönyvtárban. Ebben az esetben ez az opció nem fog működni, mert nagyon sokáig (akár több napig is) tart a keresés, ha egy adott fájl található a célkönyvtárban, ahol több ezer fájl található. Úgy tűnik, mit tegyünk, ha egy több ezer fájlt tartalmazó könyvtárban kell találnunk egy fájlt a nevével.

A fájlkezelőn keresztül is rákereshetünk a névre, de ha ezt tesszük, akkor az is sok időt vesz igénybe, nem úgy, mint az előző opciónál, de igen, sok időt vesz igénybe. Ennek az az oka, hogy a fájlkezelő minden, a könyvtárban található fájlt átvizsgál, és annyit kell várnunk, amíg a lemez teljes vizsgálata megtörténik.

De mi van akkor, ha azt mondjuk, hogy már megadtuk a célkönyvtárban vagy elérési útban található összes fájl nevét. Ezután nagyon könnyen ellenőrizhetjük, hogy a megadott fájl megtalálható-e a megcélzott útvonalon, és azt is megmutatja, honnan kell lekérnünk a célkönyvtárban található összes fájl nevét.

Ha szöveges formában kapunk egy listát a könyvtárban található összes fájlról, akkor csak be kell írnunk az adott fájl nevét a keresősávba. És akkor aligha egy másodpercbe telik, hogy kiderüljön, hogy a fájl szerepel-e a névlistában vagy sem. Így megérthetjük, hogy mennyire fontos egy olyan módszer, amellyel ki tudjuk nyomtatni a könyvtárban vagy elérési útban található összes fájl nevét.

A Python olyan metódusokat biztosít számunkra, ahol kinyomtathatjuk a névlistát, és az egyik ilyen módszer az 'os' modul listdir() függvénye. Ebben az oktatóanyagban ezt a listdir() metódust fogjuk megtanulni, és ezt egy Python programban fogjuk használni, hogy kinyomtassuk a megadott útvonalon található összes fájl nevét.

c++ pár

os.listdir() metódus Pythonban

A listdir() függvény az os modul által biztosított függvény, és ennek a függvénynek a használatával kinyomtathatjuk a megadott útvonalon található összes fájl nevét. A listdir() metódus akkor is használható, ha ki akarjuk nyomtatni az aktuális munkakönyvtárban (ahol a program található) található fájlok listáját. Használhatjuk a listdir() metódust, amikor meg kell kapnunk a megadott könyvtárban található összes fájl nevét.

Az os.listdir() függvény szintaxisa:

A következő szintaxis a listdir() függvény használatához az operációs rendszer modulból:

 >> os.listdir(pathSpecified) 

Paraméterek:

Ahogy a fent megadott szintaxisban is láthatjuk, a listdir() metóduson belül csak egy argumentumot adtunk meg. A listdir() függvény a következő elérési út paramétert veszi fel:

    Meghatározott útvonal:Itt a pathSpecified változó a megcélzott könyvtár elérési útját jelenti, ahonnan az összes fájl nevét meg akarjuk tudni. Ez egy opcionális argumentum a listdir() függvényben, és ha nem adunk meg egy megadott elérési utat a függvényen belül, akkor az összes fájlnevet kiírja az aktuális munkakönyvtárból.

Visszaküldés típusa:

A listdir() függvény visszatérési típusa a 'list', mivel a megadott könyvtárban található összes fájl nevének listáját adja vissza.

os.listdir() Módszer: Megvalósítás:

A listdir() függvény működésének és megvalósításának megértéséhez egy példaprogramban fogjuk használni, és kinyomtatjuk belőle a fájlnevek listáját. A listdir() függvény megvalósítási részét a következő két részre osztottuk:

  1. Fájlnevek nyomtatása az aktuális munkakönyvtárból
  2. Fájlnevek nyomtatása a megadott elérési útról

Minden kategóriához egy példaprogramot fogunk használni, és mindegyik metódushoz megkapjuk a fájlneveket.

1. módszer: Fájlnevek nyomtatása az aktuális munkakönyvtárból:

Ennél a módszernél a fájlnevek listáját az aktuális munkakönyvtárból az os modul egy másik funkciójával, azaz a getcwd() függvény használatával nyomtatjuk ki. Tekintse meg a következő példaprogramot a módszer megvalósításának megértéséhez:

1. példa:

Tekintse meg a következő Python programot, ahol az os.listdir() metódust használtuk path argumentummal:

 # 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) 

Kimenet:

 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'] 

Amint látjuk, az aktuális munkakönyvtárunkban található összes fájl neve megjelenik a program kimenetében.

Magyarázat:

Miután importáltuk az os modult a programba, a getcwd() függvényt használtuk az aktuális munkakönyvtár elérési útjának lekérésére. Inicializáltunk egy 'pathSpecified' nevű változót, és ebben a változóban tároltuk az aktuális munkakönyvtár elérési útját. Ezt követően a listdir() függvényt egy másik inicializált változóban, azaz a listOfFileNames-ben használtuk, hogy az ebben a változóban lévő összes fájl nevét tároljuk. Az aktuális munkaúthoz inicializált változót adtunk meg argumentumként a listdir() függvényben, végül pedig egy print utasítás segítségével kinyomtattuk a kimenetben szereplő összes név listáját.

Ha nem akarunk más függvényt használni a programunkban, akkor az összes fájlnevet megkaphatjuk abból a könyvtárból is, amelyben a program található. Csak meg kell hagynunk a listdir() függvényt, ahelyett, hogy bármely könyvtár elérési útját adnánk meg argumentumként, és ezt követően a program végrehajtásakor a kimenetben megadja az aktuális könyvtárban található összes név listáját. Tekintse meg a következő példaprogramot a módszer megvalósításának megértéséhez:

char tostring java

2. példa:

Nézze meg a következő Python programot, ahol az os.listdir() metódust használtuk argumentum nélkül:

 # 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) 

Kimenet:

 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'] 

Amint látjuk, a program végrehajtása után a program végrehajtása után a program kinyomtatja az aktuális fájlban található összes fájl nevének listáját, ahol a Python telepítve van.

rendőrkapitány-helyettes

Magyarázat:

Ebben a programban kihagytuk az elérési út paramétert, és továbbra is megkapjuk az aktuális munkakönyvtárban található összes fájl nevének listáját. Ezt a módszert részesítjük előnyben, ha az aktuális munkakönyvtárból szeretnénk lekérni az összes fájl nevének listáját. Mert ebben a metódusban nem kell argumentumot használnunk vagy útvonalváltozót definiálnunk, így minden extra kódsort megtakarít a programunkban és időt takarít meg.

2. módszer: Fájlnevek nyomtatása a megadott elérési útról:

Ebben a módszerben a listdir() függvényen belül megadva a könyvtár megadott elérési útját, megkaphatjuk a megadott könyvtárban található összes fájl nevének listáját. A fájl tulajdonságai opcióból megkaphatjuk a könyvtár elérési útját, majd ugyanezt a fájlt használhatjuk a programban. Tekintse meg a következő példaprogramot a módszer megvalósításának megértéséhez:

3. példa:

Tekintse meg a következő Python programot, ahol az os.listdir() metódust használtuk path argumentummal:

 # 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) 

Kimenet:

 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'] 

Amint látjuk, a megadott könyvtárban található összes fájl neve megjelenik a program kimenetében.

Magyarázat:

Az os modul programba való importálása után először egy elérési út változó inicializálásával meghatároztuk annak a könyvtárnak az elérési útját, ahonnan ki akarjuk nyomtatni az összes fájlnév listáját. Ezt követően a listdir() metóduson belüli inicializált elérési út változót használtuk, hogy az elérési utat argumentumként használjuk a függvényben. Végül egy másik inicializált változót (listOfFileNames) használtunk a print utasításban, hogy kinyomtassuk az eredményt a kimenetben.

Következtetés

Ebben az oktatóanyagban megismertük az os modul listdir() metódusát, és megértettük ennek a funkciónak a fontosságát. Megismerjük ennek a függvénynek a szintaxisát, majd ezt követően megismerjük a függvény használatának módszereit. Végül a Python programot használtuk a listdir() függvénnyel, hogy megértsük az egyes metódusok megvalósítását.