Modulo Python Glob – Metodo Glob()

Questo tutorial fornisce una panoramica del metodo Python glob() del modulo glob. Include diversi esempi per portare chiarezza.

Di solito, i programmatori hanno bisogno di attraversare una lista di file in qualche posizione, per lo più con un modello specifico. Il modulo glob di Python ha diverse funzioni che possono aiutare a elencare i file sotto una cartella specificata. Possiamo filtrarli in base alle estensioni, o con una particolare stringa come parte del nome del file.

Tutti i metodi del modulo Glob seguono il meccanismo e le regole del pattern matching in stile Unix. Tuttavia, non permette l’espansione della tilde (~) e delle variabili d’ambiente.

Metodi di Python Glob()

Oggi, discuteremo tre funzioni principali del modulo Glob.

glob(file_pattern, recursive = False)

Recupera la lista dei file che corrispondono al pattern specificato nel parametro file_pattern.

Il file_pattern può essere un percorso assoluto o relativo. Può anche contenere caratteri jolly come i simboli “*” o “?”.

Il parametro ricorsivo è disattivato (Falso) per default. Quando è True, cerca ricorsivamente i file sotto tutte le sottodirectory della directory corrente.

Controlliamo ora alcuni esempi:

Controlla la directory corrente per i file di script Python

Il codice seguente controlla solo i file .py nella directory corrente.

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

Un altro codice di esempio – Controlla i file .py nella directory corrente e nelle sottodirectory.

>>> 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 dei file con un modello

Possiamo fornire un modello di percorso includendo alcuni caratteri jolly come ? o intervallo numerico. Il codice seguente elenca tutti i file il cui nome inizia con “test” seguito da un numero.

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

Controlliamo un altro esempio usando il punto interrogativo nel pattern.

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

L’istruzione for loop di cui sopra ha stampato tutti i file .py con cinque lettere.

L’istruzione seguente stamperebbe i nomi delle cartelle ricorsivamente nella directory di lavoro corrente.

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

metodoiglob() | Python Glob

Questo metodo crea un oggetto generatore Python che può essere usato per elencare i file sotto una data directory. Puoi chiamare la funzione next() per stampare i nomi dei file.

Controlla il codice di esempio qui sotto:

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

Consente l’escape della sequenza di caratteri data. Puoi trovarlo utile per localizzare i file con certi caratteri nei loro nomi.

Guarda gli esempi seguenti:

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

Da controllare – Python per elencare tutti i file in una directory

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.