Modulul Python Glob – Metoda Glob()

Acest tutorial oferă o prezentare generală a metodei Python glob() din modulul glob. Acesta include mai multe exemple pentru a aduce claritate.

De obicei, programatorii au nevoie să parcurgă o listă de fișiere la o anumită locație, de cele mai multe ori având un model specific. Modulul glob din Python are mai multe funcții care pot ajuta la listarea fișierelor dintr-un folder specificat. Le putem filtra pe baza extensiilor sau cu un anumit șir de caractere ca parte a numelui de fișier.

Toate metodele modulului Glob urmează mecanismul și regulile de potrivire a tiparelor în stil Unix. Cu toate acestea, nu permite extinderea tildei (~) și a variabilelor de mediu.

Metode Python Glob()

Astăzi, vom discuta trei funcții primare ale modulului Glob.

glob(file_pattern, recursive = False)

Dobține lista fișierelor care se potrivesc cu modelul specificat în parametrul file_pattern.

File_pattern poate fi o cale absolută sau relativă. Acesta poate conține, de asemenea, wild carduri, cum ar fi simbolurile „*” sau „?”.

Parametrul recursiv este dezactivat (False) în mod implicit. Când este True, acesta caută recursiv fișierele din toate subdirectoarele directorului curent.

Să verificăm acum câteva exemple:

Verifică directorul curent pentru fișierele de script Python

Codul de mai jos verifică fișierele .py numai în directorul curent.

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

Un alt exemplu de cod – Acesta verifică dacă există fișiere .py în directorul curent și în subdirectoare.

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

Listăm fișierele cu un model

Potem furniza un model de nume de cale prin includerea unor jokeri precum ? sau un interval numeric . Codul de mai jos listează toate fișierele al căror nume începe cu „test” urmat de un număr.

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

Să verificăm încă un exemplu folosind semnul de întrebare în tipar.

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

Declarația for loop de mai sus a tipărit toate fișierele .py care au cinci litere.

Declarația de mai jos ar imprima recursiv numele folderelor din directorul de lucru curent.

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

Metodaiglob() | Python Glob

Această metodă creează un obiect generator Python care poate fi utilizat pentru a lista fișierele dintr-un anumit director. Puteți apela funcția next() pentru a imprima numele fișierelor.

Verificați codul de exemplu de mai jos:

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

metodaescape()

Permite scăparea secvenței de caractere date. O puteți găsi la îndemână pentru localizarea fișierelor cu anumite caractere în numele lor.

Verificați exemplele de mai jos:

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

Deosebit de verificat – Python to list all files in a directory

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.