logo

Jak iterovat přes soubory v adresáři pomocí Pythonu?

Adresář někdy také známé jako složka, jsou organizační strukturou jednotek v systému souborů systému pro ukládání a umístění souborů nebo více složek. Python jako skriptovací jazyk poskytuje různé metodyiterovat přes soubory v adresáři.

Níže jsou uvedeny různé přístupy, pomocí kterých lze iterovat soubory v adresáři pomocí pythonu:



Metoda 1: os.listdir()

Tato funkce vrací seznam soubory a podadresáře přítomný v daném adresáři. Můžeme filtrovat seznam, abychom získali pouze soubory, které používáme os.path.isfile() funkce:

Příklad:



Python3






# import required module> import> os> # assign directory> directory>=> 'files'> # iterate over files in> # that directory> for> filename>in> os.listdir(directory):> >f>=> os.path.join(directory, filename)> ># checking if it is a file> >if> os.path.isfile(f):> >print>(f)>

>

>

Výstup:

Metoda 2: os.scandir()

Tato metoda se používá k získání iterátoru os.DirEntry objekty odpovídající záznamům v adresáři dané zadanou cestou.

Příklad:

Python3




# import required module> import> os> # assign directory> directory>=> 'files'> # iterate over files in> # that directory> for> filename>in> os.scandir(directory):> >if> filename.is_file():> >print>(filename.path)>

>

>

Výstup:

Metoda 3: modul pathlib

Soubory v adresáři můžeme iterovat pomocí cesta.glob() funkce, která glob zadaný vzor v daném adresáři a poskytne odpovídající soubory. Path.glob(‘*’) získat všechny soubory v daném adresáři

Příklad:

Python3


jquery toto kliknutí



# import required module> from> pathlib>import> Path> # assign directory> directory>=> 'files'> # iterate over files in> # that directory> files>=> Path(directory).glob(>'*'>)> for> file> in> files:> >print>(>file>)>

>

>

Výstup:

Metoda 4: os.walk()

Pomocí této metody můžeme také vyhledávat podadresáře, protože dává 3 n-tice (dirpath, dirname, názvy souborů) .

  • vykořenit : Vytiskne adresáře pouze z toho, co jste zadali.
  • říci : Vytiskne podadresáře z kořenového adresáře.
  • soubory : Vytiskne všechny soubory z kořenového adresáře a adresářů.

Python3




# import required module> import> os> # assign directory> directory>=> 'files'> # iterate over files in> # that directory> for> root, dirs, files>in> os.walk(directory):> >for> filename>in> files:> >print>(os.path.join(root, filename))>

>

>

Výstup:

Metoda 5: modul glob

The glob.iglob() funkce vrací iterátor nad seznamem cest, které odpovídají danému vzoru.

Příklad:

Python3




# import required module> import> glob> # assign directory> directory>=> 'files'> # iterate over files in> # that directory> for> filename>in> glob.iglob(f>'{directory}/*'>):> >print>(filename)>

>

>

Výstup: