Hvordan gentages over filer i mappe ved hjælp af Python?

Hvordan gentages over filer i mappe ved hjælp af Python?

Vejviser også nogle gange kendt som en mappe er enhedsorganisationsstruktur i et systems filsystem til lagring og lokalisering af filer eller flere mapper. Python som scriptsprog giver forskellige metoder til iterere over filer i en mappe.

Nedenfor er de forskellige tilgange, som man kan iterere over filer i en mappe ved hjælp af python:

Metode 1: os.listdir()

Denne funktion returnerer listen over filer og undermapper findes i den givne mappe. Vi kan filtrere listen for kun at få filerne ved hjælp af os.path.isfile() fungere:

Eksempel:

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

Produktion:

Metode 2: os.scandir()

Denne metode bruges til at få en iterator af os.DirEntry objekter, der svarer til posterne i mappen givet af den angivne sti.

Eksempel:

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

Produktion:

Metode 3: pathlib modul

Vi kan iterere over filer i en mappe ved hjælp af Path.glob() funktion, som globber det angivne mønster i den givne mappe og giver de matchende filer. Path.glob(‘*’) give alle filerne i den givne mappe

Eksempel:

Python3




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

Produktion:

Metode 4: os.walk()

Vi kan også søge efter undermapper ved hjælp af denne metode, da det giver en 3-tuple (dirpath, dirnames, filnavne) .

  • rod : Udskriver kun mapper fra det, du har angivet.
  • sige : Udskriver undermapper fra roden.
  • filer : Udskriver alle filer fra root og mapper.

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

Produktion:

Metode 5: glob modul

Det glob.iglob() funktion returnerer en iterator over listen over stinavne, der matcher det givne mønster.

Eksempel:

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

Produktion: