Python è uno dei linguaggi di programmazione generale più usati negli ultimi tempi. Fornisce molti moduli integrati, funzioni e parole chiave per eseguire compiti relativi ai file. Un glob è un termine che si riferisce alle tecniche usate per abbinare particolari schemi secondo le regole della shell UNIX. I sistemi operativi basati su Linux e UNIX forniscono la funzione glob() per trovare file e directory secondo un dato schema. Python fornisce anche un modulo glob integrato per accedere o recuperare file e nomi di percorso che corrispondono ad uno schema specificato. Useremo la funzione Python glob() del modulo glob per i compiti descritti in questo articolo. Questo articolo spiega come usare la funzione glob() per trovare nomi di percorso e nomi di file secondo un dato schema.
- Esempio 1: Abbinare un nome di file o un percorso con un percorso assoluto
- Esempio 2: usare i caratteri jolly per il recupero dei percorsi
- Using an Asterisk (*) Wildcard for Path Retrieval
- Utilizzando un punto interrogativo (?) operatore jolly
- Utilizzando un operatore jolly di intervallo
- Trova file ricorsivamente usando glob()
- Conclusione
Esempio 1: Abbinare un nome di file o un percorso con un percorso assoluto
Guardiamo un paio di esempi per capire il funzionamento della funzione glob(). Inizieremo con un semplice esempio di corrispondenza del nome del file o del percorso con il percorso assoluto. Se il nome del file o il percorso corrisponde al percorso assoluto, allora la funzione glob() restituisce le corrispondenze sotto forma di lista; altrimenti, la funzione glob() restituisce una lista vuota.
importare glob
#utilizzare la funzione glob per far corrispondere il nome del percorso con il percorso assoluto
#corrispondere il percorso assoluto della directory downloads
print(glob.glob(“/home/linuxhint/Downloads”))
#corrispondere il percorso assoluto della directory documents
print(glob.glob(“/home/linuxhint/Documents”))
#corrisponde al percorso assoluto di Desktop
print(glob.glob(“/home/linuxhint/Desktop”))
#corrisponde al percorso assoluto dei file
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#specifica il percorso del file che non esiste
#la funzione glob restituirà la lista vuota
print(glob.glob(“/home/linuxhint/Documents/myfile.py”)
Output
L’output mostra le corrispondenze.
Esempio 2: usare i caratteri jolly per il recupero dei percorsi
È possibile usare i caratteri jolly con la funzione glob() per il recupero dei percorsi. I caratteri jolly più comunemente usati sono l’asterisco (*), il punto interrogativo (?), l’intervallo di numeri e l’intervallo di alfabeti. Per prima cosa, discuteremo l’uso dell’asterisco nella funzione glob().
Using an Asterisk (*) Wildcard for Path Retrieval
L’operatore del carattere jolly asterisco è usato per abbinare zero o più caratteri del percorso assoluto. Se non viene specificato alcun carattere con l’asterisco, allora la funzione elencherà il percorso assoluto di tutti i file, le directory e le sottodirectory del percorso dato. Potete anche scrivere alcuni caratteri con l’asterisco e la funzione troverà il percorso assoluto in base ai caratteri indicati. Per esempio, se hai bisogno di trovare il percorso assoluto dei file .txt, allora il carattere jolly * può essere usato come *.txt.
Lo implementeremo nel nostro script Python.
importare glob
#trovare il percorso assoluto di file e directory
print(glob.glob(“/home/linuxhint/Downloads/*”))
stamp(“—————————————-“)
#trovare il percorso assoluto dei file .txt nella directory Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
trovare il percorso assoluto dei file .sh nella directory Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#trovare il percorso assoluto dei file .py nella directory Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)
Output
L’output mostra il percorso assoluto dei file e delle directory secondo le regole definite nella funzione globe().
Utilizzando un punto interrogativo (?) operatore jolly
L’operatore jolly (?) è usato per abbinare un singolo carattere. Questo può essere utile in situazioni in cui non si conosce un singolo carattere nel nome dato.
Lo implementeremo nel nostro script Python.
importare glob
#trovare il file con l’operatore jolly *
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))
Output
L’output mostra i file trovati.
Utilizzando un operatore jolly di intervallo
L’operatore jolly di intervallo è usato per trovare file in un dato intervallo di caratteri o numeri. L’intervallo è definito all’interno di parentesi quadre.
Troveremo il percorso assoluto dei file definendo l’intervallo.
importare glob
#trovare il percorso assoluto dei file in un dato intervallo
#definire l’intervallo in caratteri
print(glob.glob(“/home/linuxhint/Desktop/*”))
#stampando la linea tratteggiata per differenziare l’output
print(“——————————————“)
#definendo l’intervallo in numeri
print(glob.glob(“/home/linuxhint/Desktop/*”)
Output
Trova file ricorsivamente usando glob()
La funzione glob prende due parametri come argomento. Il primo parametro definisce il nome del percorso, e il secondo parametro definisce la proprietà ricorsiva. Il secondo parametro è opzionale, e la proprietà ricorsiva è impostata di default su “false”. Tuttavia, è possibile impostare la proprietà ricorsiva su “true” per trovare il percorso dei file in modo ricorsivo.
Imposteremo la proprietà ricorsiva su “true” nel nostro script Python e troveremo il percorso assoluto dei file in modo ricorsivo.
importare glob
#trovare i file ricorsivamente
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))
Output
Conclusione
Glob è un termine comune che si riferisce a tecniche usate per abbinare particolari modelli secondo le regole della shell UNIX. Python fornisce un modulo glob integrato e una funzione per accedere ai nomi di percorso in base a determinate regole. Questo articolo spiega come usare la funzione glob() per trovare nomi di percorso con vari esempi.