Profilo di cjack88

Nome cjack88
Indirizzo email n/a
Messaggi1
  • non chiude il file
    Forum >> Programmazione Python >> Files e Directory
    ciao a tutti,
    ho fatto un semplice programma che legge l'ingresso di due pulsanti e li salva su un file .txt. Quando riavvio il raspberry il file è sempre vuoto ma non capisco come mai. Qualcuno può darmi un suggerimento? Grazie

    import time
    import RPi.GPIO as GPIO
    from datetime import datetime
    GPIO.setmode(GPIO.BOARD)
    
    GPIO.setup(23, GPIO.IN) #abilita come ingresso il pin 23 per il pulsante
    GPIO.setup(24, GPIO.IN) #abilita come uscita il pin 7 come del LED
    
    cambio1 = 0
    stato1 = 0
    datatimePrima1chiuso = datetime.now()
    datatimePrima1aperto = datetime.now()
    datatimeOra = datetime.now()
    cambio2 = 0
    stato2 = 0
    datatimePrima2chiuso = datetime.now()
    datatimePrima2aperto = datetime.now()
    differenza = 0
    
    
    while True:
        #cicla per sempre
        stato1 = GPIO.input(23)
        if stato1 != cambio1:
            cambio1 = stato1
            datatimeOra = datetime.now()
            if stato1 == 0:
                datatimePrima1chiuso = datatimeOra
                differenza = datatimeOra - datatimePrima1aperto
                with open("/home/pi/Desktop/log.txt","a") as logfile:
                  logfile.write(str(datatimeOra) + " PIANO 1 OK" + "\n" + "******---> PIANO 1 KO PER " + str(differenza) + "\n")
                  logfile.close()
                print(str(datatimeOra) + " PIANO 1 OK")
                print("\n" + "******---> PIANO 1 KO PER " + str(differenza) + "\n")
            else:
                datatimePrima1aperto = datatimeOra
                differenza = datatimeOra - datatimePrima1chiuso
                with open("/home/pi/Desktop/log.txt","a") as logfile:
                  logfile.write(str(datatimeOra) + " PIANO 1 KO" + "\n" + "#######---> PIANO 1 OK PER " + str(differenza) + "\n")
                  logfile.close()
                print(str(datatimeOra) + " PIANO 1  KO")
                print("\n" + "#######---> PIANO 1 OK PER " + str(differenza) + "\n");
    
        stato2 = GPIO.input(24)
        if stato2 != cambio2:
            cambio2 = stato2
            datatimeOra = datetime.now()
            if stato2 == 0:
                datatimePrima2chiuso = datatimeOra
                differenza = datatimeOra - datatimePrima2aperto
                with open("/home/pi/Desktop/log.txt","a") as logfile:
                  logfile.write(str(datatimeOra) + " PIANO 2 OK" + "\n" + "******---> PIANO 2 KO PER " + str(differenza) + "\n")
                  logfile.close()
                print(str(datatimeOra) + " PIANO 2 OK")
                print("\n" + "******---> PIANO 2 KO PER " + str(differenza) + "\n")
            else:
                datatimePrima2aperto = datatimeOra
                differenza = datatimeOra - datatimePrima2chiuso
                with open("/home/pi/Desktop/log.txt","a") as logfile:
                  logfile.write(str(datatimeOra) + " PIANO 2 KO" + "\n" + "#######---> PIANO 2 OK PER " + str(differenza) + "\n")
                  logfile.close()
                print(str(datatimeOra) + " PIANO 2 KO")
                print("\n" + "#######---> PIANO 2 OK PER " + str(differenza) + "\n");