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:
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:
- Fájlnevek nyomtatása az aktuális munkakönyvtárból
- 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.