logo

Kā atkārtot failus direktorijā, izmantojot Python?

Direktorija dažreiz zināmas arī kā mapes, ir vienības organizatoriskā struktūra sistēmas failu sistēmā failu vai vairāku mapju glabāšanai un atrašanai. Python kā skriptu valoda nodrošina dažādas metodesatkārtojiet failus direktorijā.

Tālāk ir norādītas dažādas pieejas, ar kurām var atkārtot failus direktorijā, izmantojot python:

1. metode: os.listdir()



Šī funkcija atgriež sarakstu ar failus un apakšdirektoriji atrodas dotajā direktorijā. Mēs varam filtrēt sarakstu, lai iegūtu tikai izmantotos failus os.path.isfile() funkcija:

Piemērs:

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

>

>

Izvade:

2. metode: os.scandir()

Šo metodi izmanto, lai iegūtu iteratoru os.DirEntry objekti, kas atbilst ierakstiem direktorijā, kas norādīts norādītajā ceļā.

Piemērs:

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

>

>

Izvade:

3. metode: pathlib modulis

Mēs varam atkārtot failus direktorijā, izmantojot Path.glob() funkcija, kas glob norādīto modeli dotajā direktorijā un iegūst atbilstošos failus. Path.glob('*') iegūt visus failus dotajā direktorijā

Piemērs:

Python3


saraksts sakārtots java



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

>

>

Izvade:

4. metode: os.walk()

Mēs varam arī meklēt apakšdirektorijus, izmantojot šo metodi, jo tā iegūst 3 korpusu (dirpath, dirnames, failu nosaukumi) .

  • sakne : izdrukā direktorijus tikai no jūsu norādītā.
  • saki : izdrukā apakšdirektorijus no saknes.
  • failus : izdrukā visus failus no saknes un direktorijiem.

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

>

>

Izvade:

5. metode: globusa modulis

The glob.iglob() funkcija atgriež iteratoru to ceļu nosaukumu sarakstam, kas atbilst dotajam modelim.

Piemērs:

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

>

>

Izvade: