logo

Metodo Python os.listdir()

È possibile che nella nostra vita ci siamo imbattuti in così tanti casi in cui vogliamo sapere quanti e quali file sono presenti in una directory (cartella). Oppure, a volte dobbiamo cercare un file e ne conosciamo il nome, ma non sappiamo in quale cartella è presente. In tal caso, l'unica opzione che ci resta è cercare il file nella directory di destinazione.

Ora, sembrerebbe così facile per molti di noi pensare; dobbiamo solo andare alla directory e guardare lì. Questa è un'opzione possibile, ma funzionerà solo quando in quella directory è presente solo un numero inferiore di file. Solo allora potremo visitare manualmente quella directory e cercare i file presenti lì. Ma cosa succede nel caso in cui nella directory di destinazione siano presenti un numero elevato di file, diciamo semplicemente migliaia di file. In tal caso, questa opzione non funzionerà perché ci vorrà molto tempo (anche molti giorni) per cercare se un file specifico è presente nella directory di destinazione dove sono presenti migliaia di file. Sembra quello che dovremmo fare se dovessimo trovare un file con il suo nome all'interno di una directory che contiene migliaia di file.

Possiamo cercare il nome tramite Esplora file, ma se lo facciamo ci vorrà anche molto tempo, non come nell'opzione precedente ma sì, molto tempo. Questo perché Esplora file eseguirà la scansione di tutti i file presenti nella directory e dobbiamo aspettare così tanto prima che venga eseguita la scansione completa del disco.

Ma cosa succede se diciamo che abbiamo già fornito i nomi di tutti i file presenti nella directory o nel percorso di destinazione. Quindi, sarà molto semplice per noi verificare se il file specificato è presente nel percorso di destinazione e mostrerà anche dove dobbiamo trovare i nomi di tutti i file presenti nella directory di destinazione.

Se ci viene fornito l'elenco dei nomi di tutti i file presenti in una directory in forma testuale, non ci resta che digitare il nome di quello specifico file nella barra di ricerca. E poi, difficilmente ci vorrà un secondo per scoprire se il file è presente nella lista dei nomi oppure no. Possiamo quindi comprendere quanto sia importante disporre di un metodo in cui possiamo stampare l'elenco dei nomi di tutti i file presenti in una directory o percorso.

Python ci fornisce metodi con cui possiamo stampare l'elenco dei nomi, e uno di questi metodi è la funzione listdir() del modulo 'os'. Impareremo questo metodo listdir() in questo tutorial e lo useremo in un programma Python per stampare un elenco di nomi di tutti i file presenti nel percorso specificato.

quali mesi sono q3

Metodo os.listdir() in Python

La funzione listdir() è una funzione fornita dal modulo os e, utilizzando questa funzione, possiamo stampare un elenco di nomi di tutti i file presenti nel percorso specificato. Il metodo listdir() può essere utilizzato anche se vogliamo stampare l'elenco dei file presenti nella directory di lavoro corrente (dove è presente il programma). Possiamo utilizzare il metodo listdir() ogni volta che ci viene richiesto di ottenere i nomi di tutti i file presenti in una directory specificata.

Sintassi per la funzione os.listdir():

Di seguito è riportata la sintassi per utilizzare la funzione listdir() dal modulo os:

 >> os.listdir(pathSpecified) 

parametri:

Come possiamo vedere nella sintassi sopra indicata, abbiamo fornito solo un argomento all'interno del metodo listdir(). La funzione listdir() accetta il seguente parametro di percorso:

    percorsoSpecificato:Qui, la variabile pathSpecified rappresenta il percorso della directory di destinazione da cui vogliamo conoscere il nome di tutti i file. Questo è un argomento facoltativo nella funzione listdir() e se non forniamo un percorso specificato all'interno della funzione, stamperà tutti i nomi di file dalla directory di lavoro corrente.

Tipo di reso:

Il tipo restituito per la funzione listdir() è 'list' poiché restituisce un elenco di nomi di tutti i file presenti nella directory specificata.

os.listdir() Metodo: Implementazione:

Per comprendere il funzionamento e l'implementazione della funzione listdir(), la useremo in un programma di esempio e da esso stamperemo l'elenco dei nomi dei file. Abbiamo diviso la parte di implementazione della funzione listdir() nelle due parti seguenti:

  1. Stampa dei nomi dei file dalla directory di lavoro corrente
  2. Stampa dei nomi dei file dal percorso specificato

Utilizzeremo un programma di esempio per ciascuna categoria e otterremo i nomi dei file in ciascun metodo.

Metodo 1: stampa dei nomi dei file dalla directory di lavoro corrente:

In questo metodo, stamperemo l'elenco dei nomi dei file dalla directory di lavoro corrente utilizzando un'altra funzione del modulo os, ovvero la funzione getcwd(). Guarda il seguente programma di esempio per comprendere l'implementazione di questo metodo:

Esempio 1:

Guarda il seguente programma Python in cui abbiamo utilizzato il metodo os.listdir() con argomento path:

 # Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Produzione:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Come possiamo vedere, nell'output del programma vengono stampati i nomi di tutti i file presenti nella nostra directory di lavoro corrente.

Spiegazione:

Dopo aver importato il modulo os nel programma, abbiamo utilizzato la funzione getcwd() per ottenere il percorso della directory di lavoro corrente. Abbiamo inizializzato una variabile con il nome 'pathSpecified' e memorizzato il percorso della directory di lavoro corrente in questa variabile. Successivamente, abbiamo utilizzato la funzione listdir() in un'altra variabile inizializzata, ovvero listOfFileNames, per memorizzare il nome di tutti i file in questa variabile. Abbiamo fornito una variabile inizializzata per il percorso di lavoro corrente come argomento nella funzione listdir() e, infine, abbiamo stampato l'elenco di tutti i nomi nell'output utilizzando un'istruzione print.

Se non vogliamo utilizzare nessun'altra funzione nel nostro programma, allora possiamo anche prendere tutti i nomi dei file dalla directory corrente in cui è presente il programma. Dobbiamo solo lasciare la funzione listdir() invece di fornire come argomento il percorso di una qualsiasi directory, dopodiché il programma, una volta eseguito, fornirà come risultato in output l'elenco di tutti i nomi presenti nella directory corrente. Guarda il seguente programma di esempio per comprendere l'implementazione di questo metodo:

Esempio 2:

rimuovi il primo carattere excel

Guarda il seguente programma Python in cui abbiamo utilizzato il metodo os.listdir() senza alcun argomento:

 # Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Produzione:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Come possiamo vedere, un elenco dei nomi di tutti i file presenti nel file corrente in cui è installato Python viene stampato nell'output dopo l'esecuzione del programma.

espressione regolare Java $

Spiegazione:

In questo programma abbiamo omesso il parametro path e otteniamo comunque l'elenco dei nomi di tutti i file presenti nella directory di lavoro corrente. Preferiremo utilizzare questo metodo se vogliamo ottenere l'elenco dei nomi di tutti i file dalla directory di lavoro corrente. Perché in questo metodo non dobbiamo utilizzare alcun argomento o definire alcuna variabile di percorso, quindi si risparmia alcuna riga di codice aggiuntiva nel nostro programma e si risparmia tempo.

Metodo 2: stampa dei nomi dei file dal percorso specificato:

In questo metodo possiamo ottenere l'elenco dei nomi di tutti i file presenti in una directory specificata fornendo il percorso specificato della directory all'interno della funzione listdir(). Possiamo ottenere il percorso della directory dall'opzione delle proprietà del file e quindi possiamo utilizzare lo stesso file nel programma. Guarda il seguente programma di esempio per comprendere l'implementazione di questo metodo:

Esempio 3:

Guarda il seguente programma Python in cui abbiamo utilizzato il metodo os.listdir() con argomento path:

 # Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames) 

Produzione:

 Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Come possiamo vedere, nell'output del programma vengono stampati i nomi di tutti i file presenti nella directory specificata.

Spiegazione:

Dopo aver importato il modulo os nel programma, abbiamo prima definito il percorso della directory da cui vogliamo stampare l'elenco di tutti i nomi dei file inizializzando una variabile di percorso. Successivamente, abbiamo utilizzato la variabile di percorso inizializzata all'interno del metodo listdir() per utilizzare il percorso come argomento nella funzione. Infine, abbiamo utilizzato un'altra variabile inizializzata (listOfFileNames) all'interno dell'istruzione print per stampare il risultato nell'output.

Conclusione

Abbiamo imparato a conoscere il metodo listdir() del modulo os in questo tutorial e abbiamo compreso l'importanza di questa funzione. Impariamo la sintassi di questa funzione e, successivamente, impariamo i metodi per utilizzare questa funzione. Infine, abbiamo utilizzato il programma Python con la funzione listdir() per comprendere l'implementazione di ciascun metodo.