La dipendenza di Python da file esterni è un aspetto cruciale, è saggio prestare attenzione ai file di base/sorgente prima di eseguire qualsiasi codice. Prima di eseguire un particolare programma, è necessario assicurarsi che i file di origine esistano nella posizione specificata.
Ogni sviluppatore comprende la necessità di creare codici di fallback, che possono salvare un programma dal fallimento nel caso in cui una condizione non sia soddisfatta. In Python ci sono diversi modi per verificare se un file esiste; ecco i metodi migliori che dovresti conoscere.
1. Prova ed escludi dichiarazioni
Il prova e l'istruzione tranne controlla un comando e produce un output. Nel codice sottostante, il Tentativo l'istruzione tenterà di aprire un file (fileprova.txt). Se il processore di Python è in grado di individuare il file, aprirà il file e stamperà il risultato Il file è aperto e disponibile per l'uso.
Tentativo:
f = open('testfile.txt')
print("Il file è disponibile per l'uso")
f.chiudi()
tranne IOError:
print('Il file non è accessibile')
Se incontra un errore, stamperà il risultato Il file non è accessibile. Una volta che il codice completo è stato compilato ed eseguito, chiuderà il file aperto se è stato aperto.
La dipendenza di Python dai file esterni è un aspetto cruciale e devi prestare attenzione ai file di base/sorgente prima di eseguire qualsiasi codice.
Prima di eseguire un particolare programma, assicurati che i file di origine esistano nella posizione specifica.
2. Os.path.isfile (percorso)
Python ha un modulo OS integrato che può essere chiamato per interagire con i file, le cartelle e le directory sottostanti. di pitone os.path.isfile() può essere utilizzato per controllare una directory e se esiste un file specifico.
Il primo passo è importare la funzione incorporata usando il import os.path biblioteca. Il comando successivo verifica se il file esiste nella posizione specifica.
import os.path
os.path.isfile (r"C:\Users\Wini Bhalla\Desktop\Python test file.txt")
L'output ritorna Vero, poiché il file esiste nella posizione specifica. Se il file non esiste, Python tornerà falso.
3. Os.path.exists (percorso)
Per motivi simili, il importare il sistema operativo l'istruzione della libreria può essere utilizzata per verificare se la directory esiste nel sistema.
La sintassi è piuttosto semplice:
Importa percorso os
os.path.exists (r"C:\Users\Wini Bhalla\Desktop\test")
Proprio come il passaggio precedente, se la directory/cartella si trova nel percorso di sistema specificato, Python restituisce Vero, e successivamente, falso, se la directory/cartella non viene trovata.
Imparentato: Imparare Python? Ecco come copiare un file
4. Os. Il percorso. Isdir (percorso)
Proprio come os.path.isfile e os.path.exists(), os.path.isdir() è una funzione secondaria della libreria del sistema operativo. L'unica differenza qui è che questo comando funziona solo per le directory. Come previsto, l'uso di questa sintassi restituisce un valore booleano basato sull'esistenza delle directory.
Per esempio:
importare il sistema operativo
os.path.isdir (r"C:\Users\Wini Bhalla\Desktop\OS")
L'uscita è Vero, poiché la cartella/directory esiste nel percorso specificato.
importare il sistema operativo
os.path.isdir (r"C:\Users\Wini Bhalla\Desktop\testdirectory")
L'uscita è falso, poiché la cartella/directory non esiste nel percorso specificato.
5. Pathlib.path.exists()
Python 3.4 e versioni successive offrono il Pathlib modulo, che può essere importato utilizzando il importare funzione. Pathlib acquisisce le funzionalità necessarie in un unico posto e le rende disponibili attraverso vari metodi da utilizzare con l'oggetto percorso.
Per usare Pathlib:
import pathlib
file = pathlib. Percorso (r"C:\Users\Wini Bhalla\Desktop\Python test file.txt")
se file.esiste ():
print ("File esiste")
altro:
print ("Il file non esiste")
In base all'esistenza del file, l'output mostrerà se il file esiste o meno nel percorso specificato. Idealmente, il codice in Stampa la dichiarazione può essere modificata, secondo i requisiti del tuo programma
6. Os.listdir (percorso)
Il listdir Il metodo in Python restituisce un elenco di tutti i file in una directory specifica, come specificato dall'utente. Tuttavia, questo metodo non restituirà alcun file esistente nelle sottocartelle.
Il listdir Il metodo accetta solo un parametro, il percorso del file. Idealmente, il percorso del file sarà costituito dai nomi di file e cartelle che desideri recuperare.
La sintassi di base include:
os.listdir (percorso)
Nell'esempio seguente, puoi creare un ciclo per passare attraverso tutti i file elencati nella directory e quindi verificare l'esistenza del file specificato dichiarato con il Se dichiarazione.
importare il sistema operativo
percorso = r'C:\Users\Wini Bhalla\Desktop'
files = os.listdir (percorso)
stampa (file)
Questo codice stamperà l'elenco dei file disponibili nella directory corrente.
importare il sistema operativo
percorso = r'C:\Users\Wini Bhalla\Desktop' files = os.listdir (percorso)
per f nei file:
se f == "test.txt":
print("Il file esiste")
altro:
print("Il file non esiste")
Più avanti, quando il ciclo viene eseguito, il listdir funzione insieme a Se la logica dell'istruzione scorrerà l'elenco dei file e stamperà i risultati, a seconda delle condizioni passate all'interno del Stampa dichiarazione.
Imparentato: Usa i loop con gli elenchi in Python
7. Modulo Globo
Il globo module corrisponde a tutti i nomi di percorso con i parametri specificati e in breve ti consente di accedere al file system. Poiché glob viene utilizzato per la corrispondenza dei modelli, puoi usarlo per controllare lo stato di un file.
Ci sono due riferimenti del percorso:
- Percorso assoluto: Usalo quando vuoi cercare un file in una directory diversa.
- Percorso relativo: Usa questo quando vuoi cercare un file nella directory corrente.
Se il file viene trovato, il codice tornerà Vero, altrimenti tornerà falso.
Un esempio di utilizzo di Glob:
importare globo
if glob.glob (r"C:\Users\Wini Bhalla\Desktop\test.txt"):
print ("File esiste")
altro:
print("Il file non esiste")
L'output di questo codice stamperà il risultato, se il file viene trovato.
8. Sottoprocesso
Il comando test nel modulo sub-process è un modo efficiente per testare l'esistenza di file e directory. I comandi di test funzionano solo su macchine basate su Unix e non su macchine OS basate su Windows.
Puoi utilizzare i seguenti comandi in base alle tue esigenze:
- prova -e: Verifica l'esistenza di un percorso
- prova -f: Verifica l'esistenza di un file
- prova-d: Controlla l'esistenza di una cartella
Verifica di un percorso con sottoprocesso:
dall'esecuzione dell'importazione del sottoprocesso
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'im-not-here.txt']).returncode == 0
Questo codice ha chiamato la funzione di test seguita da '-e' per verificare l'esistenza di un percorso. La funzione mostra falso per un percorso non valido.
Verifica di un file con sottoprocesso:
run(['test', '-f', 'testfile.txt']).returncode == 0
run(['test', '-f', 'testdirectory']).returncode == 0
Il '-F' la funzione verifica l'esistenza di un file e restituisce falso per una directory.
Verifica di una directory con sottoprocesso:
run(['test', '-d', 'testfile.txt']).returncode == 0
run(['test', '-d', 'testdirectory']).returncode == 0
Il '-D' la funzione verifica l'esistenza di una directory e restituisce falso per qualsiasi query di file nel comando test.
Quale comando utilizzerai per individuare i tuoi file?
Python è un linguaggio relativamente facile da usare e offre molte opzioni agli utenti finali. Per verificare l'esistenza di uno o più file, è possibile utilizzare una delle procedure sopra elencate.
Tuttavia, se sei un principiante, ci sono sempre modi per imparare Python. Poiché Python è un linguaggio vasto, è meglio dedicare un po' di tempo alla comprensione delle diverse sfumature e della sua gamma di comandi.
Python è estremamente versatile, con applicazioni che vanno dallo sviluppo web all'analisi dei dati.
Leggi Avanti
- Programmazione
- Pitone
- Suggerimenti per la codifica
Wini è uno scrittore con sede a Delhi, con 2 anni di esperienza di scrittura. Durante i suoi periodi di scrittura, è stata associata ad agenzie di marketing digitale e studi tecnici. Ha scritto contenuti relativi a linguaggi di programmazione, tecnologia cloud, AWS, Machine Learning e molto altro. Nel tempo libero le piace dipingere, trascorrere del tempo con la sua famiglia e viaggiare in montagna, quando possibile.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti