Python Glob-moduuli – Glob()-metodi

Tässä opetusohjelmassa luodaan yleiskatsaus glob-moduulin Python-menetelmään glob(). Se sisältää useita esimerkkejä selkeyden tuomiseksi.

Tavanaan ohjelmoijat tarvitsevat läpikäydä luettelon tiedostoja jossakin sijainnissa, useimmiten tietyn mallin mukaan. Pythonin glob-moduulissa on useita funktioita, jotka voivat auttaa tietyn kansion alla olevien tiedostojen listaamisessa. Voimme suodattaa niitä laajennusten perusteella tai tietyn merkkijonon avulla tiedostonimen osana.

Kaikki Glob-moduulin metodit noudattavat Unix-tyylistä hahmontäsmäysmekanismia ja -sääntöjä. Se ei kuitenkaan salli tilden (~) ja ympäristömuuttujien laajentamista.

Pythonin Glob()-metodit

Tänään käsittelemme Glob-moduulin kolmea pääasiallista toimintoa.

glob(tiedosto_kuvio, rekursiivinen = False)

Hakee luettelon tiedostoista, jotka sopivat tiedostoon_kuvio-parametrissa määritettyyn kuvioon.

tiedosto_kuvio voi olla absoluuttinen tai suhteellinen polku. Se voi myös sisältää jokerimerkkejä, kuten ”*”- tai ”?”-symboleja.

Rekursiivinen parametri on oletusarvoisesti pois päältä (False). Kun se on True, se etsii rekursiivisesti tiedostoja nykyisen hakemiston kaikkien alihakemistojen alta.

Katsotaan nyt muutamia esimerkkejä:

Tarkistetaan nykyinen hakemisto Python-skriptitiedostojen varalta

Alhaalla oleva koodi etsii .py-tiedostoja vain nykyisestä hakemistosta.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py

Toinen esimerkkikoodi – Tarkistetaan .py-tiedostot nykyisestä diristä ja alihakemistoista.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py

Lista tiedostoja kuvion avulla

Voidaan antaa polun nimikuvio sisällyttämällä siihen joitakin jokerimerkkejä, kuten ? tai numeroalue . Alla oleva koodi listaa kaikki tiedostot, joiden nimi alkaa sanalla ”test”, jota seuraa numero.

>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py

Katsotaan vielä yksi esimerkki, jossa käytetään kysymysmerkkiä kuviossa.

>>> for py in glob.glob("?????.py"):... print(py)...quiz1.pytest1.pytest2.py

Yllä oleva for-silmukan lauseke tulosti kaikki .py-tiedostot, joissa on viisi kirjainta.

Oheinen lauseke tulostaisi nykyisen työhakemiston kansioiden nimet rekursiivisesti.

>>> glob.glob('selenium/**/', recursive=True)

iglob()-metodi | Python Glob

Tämä metodi luo Python-generaattori-olion, jota voidaan käyttää tietyn hakemiston alla olevien tiedostojen listaamiseen. Voit kutsua next()-funktiota tulostaaksesi tiedostojen nimet.

Katso alla oleva esimerkkikoodi:

>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py

escape()-metodi

Metodin avulla on mahdollista väistää annettu merkkijono. Se voi olla kätevä sellaisten tiedostojen etsimiseen, joiden tiedostonimissä on tiettyjä merkkejä.

Tarkista alla olevat esimerkit:

>>> char_seq = "-_#">>> for spcl_char in char_seq:... esc_set = "*" + glob.escape(spcl_char) + "*" + ".py"... for py in (glob.glob(esc_set)):... print(py)...python quiz-classes-2.pypython-class.pypython-lists.pypython-random#num.pypython-set.pypython-tuples.pypython-while_loop.pycopy_file#2.pydecimal_sample.pyfind_seed.pyfrozen-set.py

Must check out – Python to list all files in a directory

Vastaa

Sähköpostiosoitettasi ei julkaista.