Python Glob () Funzione per abbinare percorso, Directory, nomi di file con esempi

glob è un termine generale usato per definire tecniche per abbinare modelli specificati in base alle regole relative alla shell Unix. I sistemi e le shell Linux e Unix supportano anche glob e forniscono anche la funzione glob () nelle librerie di sistema. In questo tutorial, vedremoglob() utilizzo della funzione nel linguaggio di programmazione Python.

Per poter utilizzare glob() e le relative funzioni è necessario importare il modulo glob. Tieni presente che il moduloglob contieneglob() e altre funzioni correlate.

import glob
Importa modulo Glob

Ricerca stringa esatta

Inizieremo con un semplice esempio. Vedremo come abbinare la stringa esatta o il nome del file con un percorso assoluto. In questo esempio elencheremo il file /home/ismail/poftut.c. Possiamo vedere l’esempio qui sotto che la funzione restituisce un elenco che contiene corrispondenze.

glob.glob("/home/ismail/poftut.c")
Stringa Esatta di Ricerca

i caratteri Jolly

Jolly è importante operatore glob per glob operazioni. Jolly o asterisco viene utilizzato per abbinare zero o più caratteri. Jolly specificato che ci può essere zero carattere o carattere multiplo in cui il carattere non è importante. In questa exmaple abbineremo i file che hanno estensione.txt.

glob.glob("/home/ismail/*.txt")
caratteri Jolly

Come possiamo vedere che ci sono un sacco di .txt file di coloro ritorno in una lista Python.

Caratteri jolly con directory multilivello

Possiamo usare caratteri jolly per specificare directory multilivello. Se vogliamo cercare un livello giù directory per specificato glob useremo /*/. In questo esempio, cerchiamo i file.txt in una directory di livello inferiore in/home/ismail . Questo è anche chiamato “glob glob” perché usiamo il nome del modulo glob e la funzione glob che è fornita dal modulo glob.

glob.glob("/home/ismail/*/*.txt")
caratteri Jolly con Multilivello Directory

Singolo Carattere Jolly

C’è un punto interrogativo che viene usato per indicare un singolo carattere. Questo può essere utile se non conosciamo singolo carattere per nome dato. In questo esempio abbineremo i file con i file file?.txt file dove questi corrisponderanno

  • file.txt
  • file1.txt
  • file5.txt
glob.glob("/home/ismail/file?.txt")

Caratteri multipli

Glob supporta anche caratteri alfabetici e numerici. Possiamo usare è usato per terminare l’intervallo di caratteri. Possiamo mettere quello che vogliamo abbinare tra parentesi quadre. In questo esempio abbineremo i nomi di file e cartelle a quelli che iniziano uno di e,m,p.

glob.glob("/home/ismail/*.tx?")
Intervalli di Caratteri

serie

In alcuni casi, possiamo far corrispondere il numero di gamma. Possiamo usare- dash per specificare i numeri di inizio e fine. In questo esempio, abbineremo 0 a 9 con 0-9. In questo esempio, abbineremo i nomi di file e cartelle che contengono numeri da 0 a 9.

glob.glob("/home/ismail/**")
serie

Alfabeto Intervalli

Possiamo anche definire l’Alfabeto intervalli di simile per il numero di intervalli. useremo a-z per i caratteri minuscoli dove A-Z per i caratteri maiuscoli. Cosa succede se abbiamo bisogno di abbinare caratteri inferiori e maiuscoli in una singola istruzione. Possiamo usare la AZ per abbinare sia lettere maiuscole che minuscole. In questo esempio, noi aggiungeremo il file e la cartella nomi di quelli che inizia con le lettere tra a e c

glob.glob("/home/ismail/*")
Alfabeto Intervalli

di Ritorno del Generatore con iglob() Mehtod

in genere glob metodo viene utilizzato per i file di elenco per i modelli specificati. Ma in alcuni casi elencarli e memorizzarli può essere un lavoro noioso. Quindi la funzioneiglob() può essere utilizzata per creare un iteratore che può essere utilizzato per iterare i nomi dei file con la funzionenext().

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Ritorno Generatore con iglob() Mehtod

Salta Specifici Caratteri di escape() Metodo

escape() funzione può essere utilizzata per saltare o non un elenco di alcuni file di quei nomi è specifica caratteri. Ad esempio, se vogliamo saltare i file che quei nomi contengono - o _ o # possiamo usare la funzione escape() fornendo questi caratteri.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.