Come controllare un file viene aperto o chiuso in Python

Come controllare un file viene aperto o chiuso in Python
Il file viene utilizzato per archiviare i dati in modo permanente. Lavorare con un file è un compito molto comune di qualsiasi linguaggio di programmazione. Molte funzioni integrate esistono in Python per creare, aprire, leggere, scrivere e chiudere il file. È possibile creare due tipi di file per archiviare i dati. Questi sono file di testo e file binari. È necessario aprire qualsiasi file prima di leggere o scrivere. IL aprire() La funzione viene utilizzata in Python per aprire un file. Usando il aprire() La funzione è un modo per controllare che un determinato file viene aperto o chiuso. Se la aprire() La funzione apre un file precedentemente aperto, quindi un Ioerror sarà generato. Un altro modo per controllare un file viene aperto o chiuso è controllare i valori del Chiuso Proprietà dell'oggetto gestore di file. Usando rinominare() La funzione è un altro modo per controllare che il file viene aperto o chiuso. In questo tutorial sono stati mostrati diversi modi per controllare che qualsiasi file sia aperto o chiuso in Python.

Crea un file per il controllo:

È possibile utilizzare qualsiasi file esistente o creare un nuovo file per testare il codice di esempio mostrato in questo tutorial. Un nuovo file di testo chiamato clienti.TXT è stato creato con il seguente contenuto da utilizzare più avanti nella prossima parte del tutorial.

Email Nome ID
01 Jony fegato [email protected]
02 Manik Hossain [email protected]
03 neha akter [email protected]
04 JANATUL FERDOUS [email protected]
05 Helal Uddin [email protected]

Esempio-1: controllare che il file viene aperto o meno utilizzando ioerror

Ioerror Genera quando la funzione Open () viene chiamata per aprire un file che è stato aperto prima. Crea un file Python con il seguente script per controllare un file è aperto o meno utilizzando Try-Except bloccare. Qui, qualsiasi nome file esistente verrà preso come input e aperto per la lettura. Successivamente, la funzione Open () viene nuovamente chiamata per aprire lo stesso file che aumenterà un ioerror e stampa il messaggio di errore.

# Prendi il nome file per controllare
FileName = input ("Immettere qualsiasi nome file esistente: \ n")
# Apri il file per la prima volta utilizzando la funzione Open ()
filehandler = open (nome file, "r")
# Prova ad aprire di nuovo il file stesso file
Tentativo:
con open ("filename", "r") come file:
# Stampa il messaggio di successo
print ("File ha aperto per la lettura.")
# Solleva l'errore se il file viene aperto prima
Tranne Ioerror:
print ("File ha già aperto.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, clienti.TXT esiste nella posizione corrente e nel messaggio di errore, "Il file ha già aperto", ha stampato per il Ioerror eccezione.

Esempio-2: controllare che il file è chiuso o meno utilizzando la proprietà chiusa.

Il valore del Chiuso La proprietà sarà vera se un file è chiuso. Crea un file Python con il seguente script per verificare che un file sia chiuso o meno che esiste nella posizione corrente. Lo script di esempio precedente genererà un errore se il nome file prelevato dall'utente non esiste nella posizione corrente. Questo problema è risolto in questo esempio. IL sistema operativo Il modulo viene utilizzato qui per verificare l'esistenza del nome file che verrà prelevato dall'utente. La funzione check_closed () ha definito il controllo che il file è chiuso o meno che verrà chiamato se il file esiste.

# Importa il modulo OS per verificare l'esistenza del file
Import OS
# Funzione DRFINE Controllare che il file è chiuso o no
def check_closed ():
Se FileHandler.chiuso == Falso:
# Stampa il messaggio di successo
print ("File ha aperto per la lettura.")
altro:
# Stampa il messaggio di errore
stampa ("File ha chiuso.")
# Prendi il nome file per controllare
FileName = input ("Immettere qualsiasi nome file esistente: \ n")
# Controlla il file esiste o no
Se OS.sentiero.esiste (nome file):
# Apri il file per la lettura
filehandler = open (nome file, "r")
# Chiama la funzione
check_closed ()
altro:
# Stampa Messaggio se il file non esiste
Stampa ("Il file non esiste.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, clienti.TXT esiste nella posizione attuale e nel messaggio di successo, "Il file è stato aperto per la lettura" ha stampato perché il valore della proprietà chiusa è tornato Falso.

Esempio-3: controllare che il file viene aperto o meno utilizzando Oserror

IL Oserror Genera quando la funzione Rename () viene chiamata più di una volta per un file che viene già aperto. Crea un file Python con il seguente script per verificare che un file sia aperto o chiuso utilizzando Oserror. Il modulo OS è stato utilizzato nello script per verificare l'esistenza del file e rinominare il file. Quando il rinominare() La funzione è chiamata per la seconda volta, verrà generato Oserror e verrà stampato il messaggio di errore personalizzato.

# Importa il modulo OS per verificare l'esistenza del file
Import OS
# Imposta il nome file esistente
Clieni fileName = '.TXT'
# Imposta il nuovo nome file
newname = 'clienti.TXT'
# Controlla il file esiste o no
Se OS.sentiero.esiste (nome file):
Tentativo:
# Chiama la funzione Rinomina per la prima volta
sistema operativo.rinominare (nome file, neotio)
# Chiama la funzione Rinomina per la seconda volta
sistema operativo.rinominare (nome file, neotio)
# Solleva l'errore se il file è stato aperto
Tranne Oserror:
stampa ("Il file è ancora aperto.")
altro:
# Stampa Messaggio se il file non esiste
Stampa ("Il file non esiste.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, clienti.TXT esiste nella posizione corrente e nel messaggio di errore, "Il file è ancora aperto" ha stampato perché il Oserror L'eccezione ha generato quando la seconda rinominare() La funzione è stata eseguita.

Conclusione:

Quando dobbiamo lavorare con lo stesso file più volte in uno script, è essenziale sapere se il file è aperto o chiuso. È meglio chiamare la funzione Close () per chiudere il file dopo aver completato l'operazione del file. L'errore si verifica quando un file viene aperto per la seconda volta nello stesso script senza chiuderlo. Diverse soluzioni a questo problema sono state mostrate in questo tutorial utilizzando semplici esempi per aiutare gli utenti di Python.