Logo
Stanzinofree

Test esistenza file in Python

Quando stiamo programmando in Python o in qualsiasi altro linguaggio dovremmo prima o poi andare a leggere o scrivere in un file, per vedere se questo file esista bastera' creare un file python con questo codice per crearci un piccolo modulo di test:

#coding: utf-8
#############################################################################
#   Script per i test dell'esistenza dei file
#############################################################################
#Il test sarĂ  un semplice try dell'apertura e nel caso vada in errore stampiamo un messaggio a video 

#Test dell'esistenza del file di configurazione
def test_config(config_file):
    try:
        test = open(config_file)
    except IOError:
        print("Errore file non presente")

Come vedete e' gia abbastanza commentato ma analizziamolo piu' a fondo:

In questa prima parte definiamo l'interprete (sintassi linux), il coding del file e mettiamo il commento di quello che fa lo script in generale, corredato di data di modifica, autore e ultimo cambiamento.

#coding: utf-8
#############################################################################
#   Script per i test dell'esistenza dei file
#############################################################################

Ed ora la parte centrale, qui definiamo la funzione dicendo di aspettarsi in ingresso un file(riga 2), poi tramite il comando try (riga 3) diciamo che deve essere eseguito il comando test aprendo il file di input (riga 4), se non ritorna errori allora il file esiste, se dovesse ritornare errori verrebbero intercettati dalla funzione except (riga 5) e verrebbe stampato a video il messaggio di errore (riga 6)

#Test dell'esistenza del file di configurazione
def test_config(config_file):
    try:
        test = open(config_file)
    except IOError:
        print("Errore file non presente")

Per richiamare questa funzione che abbiamo scritto bastera', una volta importato il modulo python che abbiamo appena scritto, definire un file indicandone il percorso e poi passarlo come input alla nostra funzione

#importiamo il modulo scritto in precedenza
import tester    

#Diciamo dove e' il file
file=('./testfile.txt')    

#richiamiamo la funzione con il file config.file
tester.test_config(file)

Stay tuned Alex