Hogyan lehet felsorolni a fájlokat egy könyvtárban a Python használatával?

ebben az oktatóanyagban mindent lefedünk, amit tudnod kell arról, hogyan lehet fájlokat felsorolni egy könyvtárban a Python használatával.

a Python egy általános célú nyelv, amelyet számos területen használnak, például az Adattudományban, a gépi tanulásban, sőt a webfejlesztésben is. Úgy tűnik, hogy nincs korlátozás a Python nyelv alkalmazásában.

ezért úgy tűnik, elég triviális Python lehet használni, hogy felsorolja a fájlokat, könyvtárakat bármilyen rendszerben., Ennek a cikknek az a célja, hogy megvilágítsa az olvasót a fájlok Python használatával történő listázásának módjairól.

sorolja fel a könyvtárban lévő összes fájlt a Python

használatával a Python-t használó rendszer könyvtáraival való kölcsönhatás céljából aos könyvtárat használják.

1. Az ” os ” könyvtár használata

az a módszer, amelyet motívumunkra fogunk gyakorolni, a listdir(). Ahogy a neve is sugallja, a könyvtárak elemeinek felsorolására szolgál.,

# Importing the os libraryimport os# The path for listing itemspath = '.'# The list of itemsfiles = os.listdir(path)# Loop to print each filename separatelyfor filename in files:print(filename)

kimenet:

game_file.pyhi-lo_pygame.pyJournaldevlist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

a Linux felhasználók könnyen illeszthetik a fenti kimenetet a standard ls parancs a terminálon.

List Items using ‘LS’ command

mint láthatjuk a kimenetek minden módszer mérkőzések.

2., A”glob”könyvtár használata

glob többnyire egy fájlnév-mintaillesztési könyvtár, de az aktuális könyvtárban található elemek felsorolására használható:

kimenet:

game_file.pyhi-lo_pygame.pyJournaldevlist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

a helyettesítő karakter'*' az aktuális könyvtár összes elemének egyeztetésére szolgál. Mivel az aktuális könyvtár elemeit szeretnénk megjeleníteni, ki kell kapcsolnunk a glob() függvény rekurzív jellegét.

3., Csak a

aktuális könyvtárban található fájlokat sorolja fel a fenti módszerekben, a python kód természetétől függetlenül visszaküldte az aktuális könyvtár összes elemét. Csak a path.isfile() függvény segítségével tudjuk kibontani a fájlokat a os könyvtárban.

kimenet:

game_file.pyhi-lo_pygame.pylist_files1.pyhi_lo_pygame.mp4test.pylist_files.pymy_program.cppa.outcut.cpp

a fenti kódrészletben a lista megértése csak azokat az elemeket szűri ki, amelyek valójában egy fájl.,

egy másik fontos dolog, amit itt meg kell jegyezni, hogy a fenti kód nem működik más könyvtáraknál, mivel a 'f' változó nem abszolút elérési út, hanem az aktuális könyvtár relatív elérési útja.

sorolja fel a könyvtárban található összes fájlt rekurzív módon

annak érdekében, hogy a fájlokat egy könyvtárban és annak alkönyvtáraiban kinyomtassuk, rekurzív módon kell áthaladnunk.

1. Az ” os “könyvtár

segítségével a walk() módszer, tudjuk áthaladni minden alkönyvtár egy könyvtárban egyenként.,

kimenet:

a os.walk() módszer egyszerűen követi az egyes alkönyvtárakat, és alapértelmezés szerint felülről lefelé bontja ki a fájlokat. Három iterators használt át a kimenetet a os.walk() funkció:

  • path – Ez a változó tartalmazza a jelenlegi könyvtárat a funkció megfigyelése során egy bizonyos iterációs
  • folders – Ez változó, van egy lista a könyvtárak belül a 'path' könyvtár.,
  • files – a fájlok listája a 'path' könyvtárban.

ajoin() módszer a fájlnév szülő könyvtárával való összekapcsolására szolgál, megadva nekünk a fájl relatív elérési útját.

2. A “glob” könyvtár használata

a fenti eljáráshoz hasonlóan a glob rekurzívan meglátogathat minden könyvtárat, kivonhat minden elemet, és visszaküldheti azokat.,

kimenet:

a '**' a path változóval együtt használt szimbólum azt mondja, hogy a glob() függvény a fájlok bármely alkönyvtáron belüli illesztéséhez. A'*' jelzi a függvénynek, hogy megfeleljen a könyvtár összes elemének.

mivel csak a teljes könyvtárban lévő fájlokat szeretnénk kibontani, kiszűrjük a fájlokat a korábban használt isfile() funkcióval.

sorolja fel az összes alkönyvtárat a

könyvtárban a fájlok felsorolása helyett felsorolhatjuk az adott könyvtárban található összes alkönyvtárat.,

kimenet:

./Documents/Journaldev

a kisebb különbség a listázó fájlok és könyvtárak között az iterátor kiválasztása a os.walk() függvény során. Fájlok esetén iteráljuk át a fájlok változóját. Itt hurkoljuk át a mappák változóját.

lista fájlok egy könyvtárban abszolút útvonal

miután tudjuk, hogyan kell felsorolni a fájlokat egy könyvtárban, majd megjeleníti az abszolút útvonal egy szelet tortát. A abspath() metódus megadja nekünk a fájl abszolút elérési útját.,

kimenet:

egy dolog, amit itt meg kell jegyezni, hogy a abspath() a fájl relatív elérési útját kell megadni, és ez a join() funkció célja.

listázza a fájlokat egy könyvtárban a minták illesztésével

többféle módon lehet kiszűrni egy adott mintának megfelelő fájlneveket. Nézzük át őket egyenként.

1. Az “fnmatch” könyvtár használata

ahogy a neve is sugallja, a fnmatch egy fájlnévminta-illesztési könyvtár., A fnmatch használatával a szabványos fájlnév-kibontó könyvtárainkkal kiszűrhetjük azokat a fájlokat, amelyek megfelelnek egy adott mintának.

kimenet:

List of files containing "file" in them./Documents/game_file.py./Documents/list_files1.py./Documents/list_files.py

a fnmatch() függvény két paramétert vesz fel, a fájlnevet a illesztendő minta követi. A fenti kódban megnézzük az összes fájlt, amely a file szót tartalmazza.

2. A “glob” könyvtár használata

ahogy korábban említettük, glob's az elsődleges cél a fájlnév minta illesztése.,

kimenet:

./Documents/list_files1.py

a fenti minta megfelelő reguláris kifejezés '**/**.*' magyarázható:

3. A

pathlib könyvtár használata a fájlrendszerrel való interakció objektumorientált módját követi. Arglob() függvény a könyvtáron belül használható a fájlok listájának rekurzív kibontására egy bizonyos Útvonalobjektumon keresztül.

ezek a fájlok listája szűrhető a rglob() függvény mintájával.,

kimenet:

Documents/my_program.cppDocuments/Journaldev/mastermind.py

a fenti kódrészlet a 'm' betűvel kezdődő fájlok felsorolására szolgál.

listázza a fájlokat egy könyvtárban egy adott kiterjesztés

Listing fájlokat egy adott kiterjesztés Python némileg hasonló minta megfelelő. Ebből a célból létre kell hoznunk egy mintát a fájlkiterjesztés tekintetében.

Output:

The fnmatch() function files out those files ending with '.py', azaz python files., Ha különböző kiterjesztésű fájlokat akarunk kibontani, akkor meg kell változtatnunk a kód ezen részét. Például Csak C++ fájlok letöltéséhez a '.cpp' értéket kell használni.

ez összegzi a fájlok listájának lekérésének módjait egy könyvtárban a Python használatával.

következtetés

többféle módon lehet megoldani a problémát, de a legkényelmesebb nem mindig a válasz. Ami ezt a cikket illeti, a Python programozónak tisztában kell lennie azzal, hogy minden módon felsorolhatjuk a fájlokat egy könyvtárban.

Share

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük