Uneori, în timp ce lucrați cu fișiere în Python, apare o problemă cu modul de a obține toate fișierele dintr-un director. În acest articol, vom acoperi diferite metode de cum să listați toate numele fișierelor dintr-un director în Python.
Efectuarea operațiunilor cu fișiere este o abilitate obligatorie pentru programatori. Învățarea operațiunilor cu fișiere folosind Python ajută la gestionarea fișierelor, integrarea fișierelor cu programele dvs., construirea de programe din lumea reală etc. Vom acoperi conceptul cel mai fundamental de a enumera toate fișierele prezente într-un anumit director.
Vom acoperi două module și funcțiile lor respective pentru acest tutorial privind listarea numelor și detaliilor fișierelor într-un director.
Ce este un director în Python?
Un director, uneori cunoscut sub numele de folder, este o structură organizatorică unitară în sistemul de fișiere al unui computer pentru stocarea și localizarea fișierelor sau a mai multor foldere. Python acceptă acum mai multe API-uri pentru a lista conținutul directorului. De exemplu, putem folosi funcțiile Path.iterdir, os.scandir, os.walk, Path.rglob sau os.listdir.
Director în uz: gfg
Cum să enumerați fișierele dintr-un director în Python
Există mai multe moduri de a lista toate fișierele dintr-un director. În acest articol, vom discuta modulele de mai jos și funcțiile acestora pentru a prelua lista de fișiere dintr-un director. Vom acoperi un total de 5 moduri cu exemple pentru a verifica lista de fișiere dintr-un director.
- Folosind Modulul OS
- Folosind Modulul glob
Listați fișierele dintr-un director folosind modulul Os în Python
Putem folosi aceste 3 metode ale modul OS , pentru a obține o listă de fișiere dintr-un director.
- os.listdir() Metodă
- os.walk() Metodă
- os.scandir() Metodă
Folosind metoda os.listdir() pentru a obține lista de fișiere
os.listdir() metoda obține lista tuturor fișierelor și directoarelor dintr-un director specificat. În mod implicit, este directorul curent. Dincolo de primul nivel de foldere, os.listdir() nu returnează niciun fișier sau folder.
Sintaxă : os.listdir(cale)
Parametrii :
- cale : Calea directorului
Tip de returnare : returnează o listă a tuturor fișierelor și directoarelor din calea specificată
Exemplul 1: Obțineți o listă cu toate fișierele dintr-un director
În acest exemplu, modulul os este importat pentru a interacționa cu sistemul de operare. Funcția listdir este utilizată pentru a obține o listă a tuturor fișierelor și directoarelor din calea specificată (C://Users//Vanshi//Desktop//gfg). Rezultatul este apoi tipărit, afișând numele fișierelor și directoarelor prezente în locația specificată.
Python3
# import OS module> import> os> # Get the list of all files and directories> path> => ' C://Users//Vanshi//Desktop//gfg '> dir_list> => os.listdir(path)> print> (> 'Files and directories in ''> , path,> '' :'> )> # prints all files> print> (dir_list)> |
pyspark sql
>
>
Ieșire:
Exemplul 2: Obțineți toate fișierele și niciun folder
În acest exemplu, programul Python solicită utilizatorului o cale de folder și listează și imprimă fișierele din acel director, utilizând modulul os pentru interacțiunea cu directorul și filtrarea fișierelor din lista obținută.
Python3
șir în numere întregi
import> os> print> (> 'Python Program to print list the files in a directory.'> )> Direc> => input> (r> 'Enter the path of the folder: '> )> print> (f> 'Files in the directory: {Direc}'> )> files> => os.listdir(Direc)> # Filtering only the files.> files> => [f> for> f> in> files> if> os.path.isfile(Direc> +> '/'> +> f)]> print> (> *> files, sep> => '
'> )> |
>
>
Exemplul 3: Obțineți numai fișiere „.txt” din director
În acest exemplu, scriptul Python utilizează modulul os pentru a itera fișierele din directorul curent. Tipărește selectiv doar numele fișierelor care se termină cu .txt, listând efectiv fișierele text prezente în director.
Python3
# import OS> import> os> for> x> in> os.listdir():> > if> x.endswith(> '.txt'> ):> > # Prints only text file present in My Folder> > print> (x)> |
>
>
Ieșire:
Folosind metoda os.walk() pentru a accesa fișierele dintr-un arbore director
OS.walk() generează nume de fișiere într-un arbore de directoare. Această funcție returnează o listă de fișiere într-o structură arborescentă. Metoda parcurge toate directoarele dintr-un arbore.
Sintaxă: os.walk(sus, sus în jos, onerror, followlinks )
Parametri:
- top: Este directorul de sus din care doriți să preluați numele fișierelor și folderelor componente.
- de sus în jos: Specifică faptul că directoarele trebuie scanate de sus în jos atunci când sunt setate la True. Dacă acest parametru este Fals, directoarele vor fi examinate de sus în jos.
- onerror: Oferă un handler de erori dacă se întâlnește o eroare
- următoarele linkuri : dacă este setat la Adevărat, vizitează folderele la care se face referire prin legăturile de sistem
Întoarcere: returnează numele fiecărui fișier și folder dintr-un director și oricare dintre subdirectoarele acestuia.
Exemplu: obțineți numai fișiere „.txt” dintr-un director
În acest exemplu, scriptul Python utilizează modulul os pentru a parcurge fișierele din directorul specificat (C://Users//Vanshi//Desktop//gfg) și subdirectoarele acestuia. Identifică și tipărește numele fișierelor cu extensia .txt, populând variabila listă cu fișierele text dorite.
Python3
teoria arborilor și grafurilor
# import OS module> import> os> # This is my path> path> => ' C://Users//Vanshi//Desktop//gfg '> # to store files in a list> list> => []> # dirs=directories> for> (root, dirs,> file> )> in> os.walk(path):> > for> f> in> file> :> > if> '.txt'> in> f:> > print> (f)> |
>
>
Ieșire:
Folosind metoda os.scandir() pentru a lista fișierele dintr-un Director
os.scandir() este o versiune eficientă a funcției os.listdir(). A fost lansat ulterior de Python și este acceptat pentru Python 3.5 și versiuni ulterioare.
Sintaxă: os.scandir(cale)
Parametru:
- Cale- Calea directorului.
Tip returnare: returnează un iterator al obiectului os.DirEntry.
Exemplu: Listați toate fișierele și directoarele dintr-un director.
În acest exemplu, scriptul Python utilizează modulul os pentru a lista fișiere și directoare în calea specificată (C://Users//Vanshi//Desktop//gfg). Folosește os.scandir() pentru a obține un iterator de obiecte os.DirEntry care reprezintă intrările din director.
Python3
converti șirul în char java
# import OS module> import> os> # This is my path> path> => ' C://Users//Vanshi//Desktop//gfg '> # Scan the directory and get> # an iterator of os.DirEntry objects> # corresponding to entries in it> # using os.scandir() method> obj> => os.scandir()> # List all files and directories in the specified path> print> (> 'Files and Directories in '% s':'> %> path)> for> entry> in> obj:> > if> entry.is_dir()> or> entry.is_file():> > print> (entry.name)> |
>
>
Ieșire:
Listează fișierele dintr-un director folosind modulul glob din Python
The glob modul preia numele de fișiere/căi care corespund unui model specificat. Mai jos sunt modalitățile prin care putem lista fișierele dintr-un director folosind modulul glob:
- glob() Metodă
- iglob() metodă
Folosind metoda glob() pentru a obține toate fișierele dintr-un director
Cu glob , putem folosi wild cards (*, ?, [interval]) pentru a face recuperarea căii mai simplă și mai convenabilă.
Sintaxă: glob.glob(nume cale, *, recursive=False)
Parametri:
- nume cale : Calea directorului sau modelul care trebuie să se potrivească.
- recursiv (Opțional): un parametru boolean (valoarea implicită este setată la Fals ) care indică dacă căutarea ar trebui să fie recursivă, adică dacă ar trebui să includă subdirectoare.
Se intoarce:
- Lista căilor de fișiere care se potrivesc
Exemplu: potrivirea și imprimarea fișierelor Python folosind metoda glob().
Python3
import> glob> # This is my path> path> => 'C:UsersVanshiDesktopgfg'> # Using '*' pattern> print> (> '
Named with wildcard *:'> )> for> files> in> glob.glob(path> +> '*'> ):> > print> (files)> # Using '?' pattern> print> (> '
Named with wildcard ?:'> )> for> files> in> glob.glob(path> +> '?.txt'> ):> > print> (files)> # Using [0-9] pattern> print> (> '
Named with wildcard ranges:'> )> for> files> in> glob.glob(path> +> '/*[0-9].*'> ):> > print> (files)> |
>
emoji-uri cu mere pe Android
>
Ieșire:
Folosind metoda iglob() pentru a lista fișierele dintr-un director
iglob() metoda poate fi utilizată pentru a tipări numele fișierelor în mod recursiv dacă parametrul recursiv este setat la True. Acesta este folosit pentru directoare mari, deoarece este mai eficient decât metoda glob().
Sintaxă: glob.iglob(nume cale, *, recursive=False)
Parametru:
- nume cale = Calea directorului.
- recursiv (Opțional)= Un parametru boolean (valoarea implicită este setată la Fals ) care indică dacă căutarea ar trebui să fie recursivă, adică dacă ar trebui să includă subdirectoare.
Se intoarce: Iterator de căi de fișiere potrivite
Exemplu: Imprimați căi care se potrivesc cu modelul specificat într-un director.
În acest exemplu, scriptul Python utilizează modulul glob pentru a găsi și imprima căi care se potrivesc cu modelul specificat (C:UsersVanshiDesktopgfg***.txt). Folosește glob.iglob() pentru a returna un iterator, care este apoi folosit pentru a tipări căile tuturor fișierelor text prezente în directorul specificat și subdirectoarele acestuia.
Python3
import> glob> # This is my path> path> => 'C:UsersVanshiDesktopgfg***.txt'> # It returns an iterator which will> # be printed simultaneously.> print> (> '
Using glob.iglob()'> )> # Prints all types of txt files present in a Path> for> file> in> glob.iglob(path, recursive> => True> ):> > print> (> file> )> |
>
>
Ieșire:
Acestea sunt cele 5 moduri pe care le puteți folosi pentru a obține detalii despre fișierele și directoarele dintr-un director. Python a oferit mai multe metode încorporate pe care le puteți utiliza pentru a cunoaște fișierele prezente într-un director. Acest tutorial a arătat metode simple cu exemple pentru a înțelege cum să obțineți liste de fișiere cu modulul os și modulul glob.
Lecturi similare:
- Listează fișierele din directorul cu extensie
- Listați toate fișierele de un anumit tip dintr-un director folosind Python
- Listarea directoarelor și fișierelor în Python
- Obțineți lista de fișiere din directorul cu dimensiunea
- Gestionarea fișierelor în Python