IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Lire les données d'une page web en python


Sujet :

Python

  1. #21
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Ok, je pense t'avoir donné une bonne base pour bosser la suite... un conseil, si tu veux transformer toutes ces données en version graphique, il faudra une base sur le langage suffisante, ça va se durcir !

    Il existe beaucoup de modules en python pour faire pratiquement tout ce que tu veux, fait tes recherches, des tests, et ne pas hésiter à poser tes questions sur le forum.

    Bonne continuation...

  2. #22
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Salut Fred,

    Alors j'ai étudié ton script et je l'ai modifié pour qu'il crée chaque mois un fichier du nom du mois via la variable base_dir qui me donne en sortie :
    /home/pi/Donnees_Chaudiere/Fevrier2024
    J'ai aussi changé ta ligne : csv_file = base_dir + f"/{current_date}.txt" pour qu'elle me donne en sortie un fichier comme ça :
    /home/pi/Donnees_Chaudiere/Fevrier2024/Fevrier2024.txt

    Mais il y semble qu'il y ai une erreur avec cette ligne car le fichier ne se crée pas et j'obtiens une erreur ;
    Traceback (most recent call last):
    File "/home/pi/Domotique/Lecture_parametres_chaudiere5.py", line 62, in <module>
    with open(csv_file, "a", newline="", encoding="utf-8") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Chaudiere/Fevrier2024/Fevrier2024.txt'
    C'est surement un problème de syntaxe avec f mais je n'arrive pas à changer cela.
    Est-ce que tu peux m'aider ?

    Merci

    Antoine

  3. #23
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    C'est surement un problème de syntaxe avec f mais je n'arrive pas à changer cela.
    S'il y avait un problème de syntaxe, le message serait SyntaxError et non FileNotFoundError

    Traceback (most recent call last):
    File "/home/pi/Domotique/Lecture_parametres_chaudiere5.py", line 62, in <module>
    with open(csv_file, "a", newline="", encoding="utf-8") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Chaudiere/Fevrier2024/Fevrier2024.txt'


    Le mode 'a' est le mode ajout qui permet d'ajouter des lignes à un fichier existant ou, si le nom de fichier n'existe pas, crée ce fichier.

    Je ne vois pas d'erreur de syntaxe, mais une erreur peut-être de présence d'un répertoire comme Fevrier2024 ou
    Donnees_Chaudiere, comme je vois pas le script, compliqué d'être sûr !

    Faire attention aux accents, pluriels, erreurs de frappes...

    P.S Mettre des print sur tes variables pour vérifier si tes variables ont bien les valeurs attendues...

  4. #24
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Effectivement c'était bien par ce que le dossier Janvier2024 n'avais pas encore été crée... J'avais fait un Février2024....

    J'ai deux autres scripts qui enregistrent des données, un pour la chaudière, un pour les températures des pièces de la maison et un pour les capteurs météo en externe.
    J'essaye d'appliquer ton bout de script qui écrit le header si le fichier n'existe pas. Voila mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    file_exists = os.path.isfile(Record_file)
    print(file_exists)
    if not file_exists: 
      with open('Record_file', 'w', newline="") as csvfile:
        Header = {"Date", "Heure", "temp_Salon", "Temp_Chambre", "Temp_ECS"}
        writer = csv.DictWriter(csvfile, fieldnames=Header)  
        writer.writeheader()
    En retour j'obtiens bien un False à print(file_exists) par contre dans le fichier je n'ai que :

    2024-01-31 21:07:53,20.812,22.25,46.0
    sans aucun message d'erreur et sans header.

    Peux-tu m'aider ?

    Merci d'avance
    Antoine

  5. #25
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Mets ton code entre balises adaptées, l'indentation en python est très importante ! Sans cela, ça le rend illisible...

    J'avais pourtant expliqué à quoi servait le mode append ('a') lors de l'ouverture d'un fichier... dans le cas de ton code, on écrase le fichier contenant les données précédentes à chaque exécution du script.

    Aussi pourquoi ne pas faire comme dans le code que je t'avais présenté dans mes posts précédents ? Si mon fichier n'existe pas, alors j'ajoute mon header.
    Le tout est de savoir si writer.writeheader() est dans la condition if not file_exists ou pas...

    EDIT : Suite à l'utilisation des balises,

    Regarde dans mon code dans quel bloc se trouve if not file_exists...

  6. #26
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    ligne 4, tu créés un fichier appelé "Record_file" dans le répertoire de travail qui lui va contenir ton entête en revanche....
    A mon avis en retirant les guillemets autour de Recod_file, ça devrait aller mieux

  7. #27
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    L'architecture de ce code est différente de celui que ty m'as écrit. Je commence par définir pdes fonctions pour lire les données, les récuperer et ensuite les enregisrter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    import glob
    import urllib.request
    from lxml import etree
    from urllib.error import URLError, HTTPError
    import base64
    import csv
    import os
    import time
    from datetime import datetime
     
     
    sonde_chambre = '/28-00000c86ab42'
    sonde_ecs = '/28-04168632a0ff'
    sonde_salon = '/28-00000c376062'
     
    base_dir = '/sys/bus/w1/devices'
    sonde_chambre = base_dir + '/28-00000c86ab42/w1_slave'
    sonde_salon = base_dir + '/28-00000c376062/w1_slave'
    sonde_ecs = base_dir + '/28-04168632a0ff/w1_slave'
    #Définition de la date sous la forme "MoisAnnee" en français.
    current_datetime = datetime.now()
    current_date = current_datetime.strftime("%B%Y") 
    #print(current_date)
    Mois=['Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre']
    mois = current_datetime.date().month
    #print(Mois[mois])
    Q = Mois[mois-1]
    #print(Q)
    current_date = Q + current_datetime.strftime("%Y") 
    #print(current_date)
     
     
    #définition du répertoie de base qui change chaque mois et où les données sont enregistrées
    Record_dir = '/home/pi/Donnees_Temperature/' + current_date
     
    Record_file = Record_dir + f"/{current_date}.txt"
     
    def Ouverture_Lecture_Fichiers_Temp(sonde):
    #    while not os.path.exists("sonde"):
    #        time.sleep(10)    
        f_sonde = open(sonde, 'r')
        lines_sonde = f_sonde.readlines()
        return lines_sonde
        f_sonde.close()
     
    def extraire_temperature (sonde) :
        lines = Ouverture_Lecture_Fichiers_Temp(sonde)
        while lines == []:
            time.sleep(0.5)
    #        print('pas de donnees')
            lines = Ouverture_Lecture_Fichiers_Temp(sonde)
        donnees_temperature = lines[1].split(" ")[9]
        Temp = float(donnees_temperature[2:]) / 1000
        return Temp
     
    def Sauvegarde (Temp1,Temp2,Temp3):
        current_time = current_datetime.strftime("%H:%M:%S")
        fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
        fichier_sauvegarde.write("%s,%s,%s,%s\n"%(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),Temp1,Temp2,Temp3))
        fichier_sauvegarde.close()
    Et ensuite seulement je fais marcher le bout de code pour savoir s i le fichiier existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    file_exists = os.path.isfile(Record_file)
    print(file_exists)
    if not file_exists: 
        with open('Record_file', 'a', newline="") as csvfile:
            Header = {"Date", "Heure", "temp_Salon", "Temp_Chambre", "Temp_ECS"}
    #    Header.update({element.tag: element.text for element})
            writer = csv.DictWriter(csvfile, fieldnames=Header)  
            writer.writeheader()
    Et enfin j'exécute les fonctions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Temp_Salon = extraire_temperature (sonde_salon)
    Temp_Chambre = extraire_temperature (sonde_chambre)
    Temp_ECS = extraire_temperature (sonde_ecs)
    print(Temp_Salon,Temp_Chambre,Temp_ECS)
     
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS)
    Et là je reçois en retrour :

    False
    19.25 21.687 42.875
    Traceback (most recent call last):
    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 107, in <module>
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS)
    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 58, in Sauvegarde
    fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Temperature/Fevrier2024/Fevrier2024.txt'
    Hors le fichier est crée avant que j'appelle les fonctions qui font le boulot. Par exemple ligne 58 l'erreur qui dit que le fichier Fevrier2024.txt n'existe pas cette fonction est appelée après l'écriture qu header, elle est appelée par
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS) qui est la dernière ligne du fichier.


    Là je ne comprends pas..

  8. #28
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    on va le redire encore une fois UTILISE LA BALISE CODE POUR METTRE EN FORME TON CODE (désolé pour les majuscules)
    (et on va supposer que tu n'as pas vu ma réponse avant de poster)
    et je rajouterai qu'en plus de créer le fichier, il faut aussi créer le répertoire s'il n'existe pas.

  9. #29
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Salut umfred.
    J'avais bien vu ton premier message mais cela donne toujours la même erreur. ET oui le répertoire Fevrier2024 existe mais le fichier ne se crée pas, je ne comprends pas pourquoi.
    Peux tu être plus précis quand tu dis utilise la balise code pour mettre en forme ton code ?

    Merci d'avance
    Antoine

  10. #30
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par Toine74 Voir le message
    être plus précis quand tu dis utilise la balise code pour mettre en forme ton code ?
    Comme tu l'as fait au message précédent

  11. #31
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Où se trouve la création de ton dossier Fevrier2024 ?

  12. #32
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    La création de Fevrier2024 si fait via crontab, la commande :

    0 0 1 * * sudo mkdir /home/pi/Donnees_chaudiere/`date +%B%Y`
    0 0 1 * * sudo mkdir /home/pi/Donnees_Temperature/`date +%B%Y

  13. #33
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    En remettant les guillemets autour de Record_file umfred, j'obtiens ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    print(Record_file)
    file_exists = os.path.isfile(Record_file)
    print(file_exists)
    print(current_datetime.strftime("%d-%m-%Y %H:%M:%S"))
    if not file_exists: 
        with open("Record_file", 'a', newline="") as Record_file:
            Header = {"Date", "Heure", "temp_Salon", "Temp_Chambre", "Temp_ECS"}
    #    Header.update({element.tag: element.text for element})
            writer = csv.DictWriter(Record_file, fieldnames=Header)  
            writer.writeheader()
    Et en réponse :
    /home/pi/Donnees_Temperature/février2024/février2024.txt
    False
    01-02-2024 13:50:12
    19.75 22.062 43.437

    Le Record_file est bien le bon mais il n'est pas créé..


    Antoine

  14. #34
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    date +%B%Y donne février2024 et non Fevrier2024EDIT : Répertoire qui correspond à votre erreur

    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 58, in Sauvegarde
    fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Temperature/Fevrier2024/Fevrier2024.txt'


  15. #35
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Oui merci Fred j'ai bine vu cela et j'ai cgané en conséquence, d'ailleurs le Record_file est bine /home/pi/Donnees_Temperature/février2024/fevrier2024.txt

    Mais il ne se crée pas....

  16. #36
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if not file_exists:
        with open("Record_file", 'a', newline="") as Record_file:
    Toujours pas dans le bon bloc concernant if not file_exists, il doit être à l'intérieur du bloc with open(...)

  17. #37
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    C'est fait et toujours pas de fichier créé.

  18. #38
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Désolé umfred
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    import glob
    import urllib.request
    from lxml import etree
    from urllib.error import URLError, HTTPError
    import base64
    import csv
    import os
    import time
    from datetime import datetime
     
     
    sonde_chambre = '/28-00000c86ab42'
    sonde_ecs = '/28-04168632a0ff'
    sonde_salon = '/28-00000c376062'
     
    base_dir = '/sys/bus/w1/devices'
    sonde_chambre = base_dir + '/28-00000c86ab42/w1_slave'
    sonde_salon = base_dir + '/28-00000c376062/w1_slave'
    sonde_ecs = base_dir + '/28-04168632a0ff/w1_slave'
    #Définition de la date sous la forme "MoisAnnee" en français.
    current_datetime = datetime.now()
    current_date = current_datetime.strftime("%B%Y") 
    #print(current_date)
    Mois=['Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre']
    mois = current_datetime.date().month
    #print(Mois[mois])
    Q = Mois[mois-1]
    #print(Q)
    current_date = Q + current_datetime.strftime("%Y") 
    #print(current_date)
     
     
    #définition du répertoie de base qui change chaque mois et où les données sont enregistrées
    Record_dir = '/home/pi/Donnees_Temperature/' + current_date
     
    Record_file = Record_dir + f"/{current_date}.txt"
     
    def Ouverture_Lecture_Fichiers_Temp(sonde):
    #    while not os.path.exists("sonde"):
    #        time.sleep(10)    
        f_sonde = open(sonde, 'r')
        lines_sonde = f_sonde.readlines()
        return lines_sonde
        f_sonde.close()
     
    def extraire_temperature (sonde) :
        lines = Ouverture_Lecture_Fichiers_Temp(sonde)
        while lines == []:
            time.sleep(0.5)
    #        print('pas de donnees')
            lines = Ouverture_Lecture_Fichiers_Temp(sonde)
        donnees_temperature = lines[1].split(" ")[9]
        Temp = float(donnees_temperature[2:]) / 1000
        return Temp
     
    def Sauvegarde (Temp1,Temp2,Temp3):
        current_time = current_datetime.strftime("%H:%M:%S")
        fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
        fichier_sauvegarde.write("%s,%s,%s,%s\n"%(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),Temp1,Temp2,Temp3))
        fichier_sauvegarde.close()
     
     
    Et ensuite seulement je fais marcher le bout de code pour savoir s i le fichiier existe
     
    file_exists = os.path.isfile(Record_file)
    print(file_exists)
    if not file_exists: 
        with open('Record_file', 'a', newline="") as csvfile:
            Header = {"Date", "Heure", "temp_Salon", "Temp_Chambre", "Temp_ECS"}
    #    Header.update({element.tag: element.text for element})
            writer = csv.DictWriter(csvfile, fieldnames=Header)  
            writer.writeheader()
     
    Et enfin j'exécute les fonctions.
     
    Temp_Salon = extraire_temperature (sonde_salon)
    Temp_Chambre = extraire_temperature (sonde_chambre)
    Temp_ECS = extraire_temperature (sonde_ecs)
    print(Temp_Salon,Temp_Chambre,Temp_ECS)
     
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS)
    ..
    Et là je reçois en retrour :

    False
    19.25 21.687 42.875
    Traceback (most recent call last):
    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 107, in <module>
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS)
    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 58, in Sauvegarde
    fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Temperature/Fevrier2024/Fevrier2024.txt'
    Hors le fichier est crée avant que j'appelle les fonctions qui font le boulot. Par exemple ligne 58 l'erreur qui dit que le fichier Fevrier2024.txt n'existe pas cette fonction est appelée après l'écriture qu header, elle est appelée par
    Sauvegarde(Temp_Salon,Temp_Chambre,Temp_ECS) qui est la dernière ligne du fichier.


    Là je ne comprends pas..

  19. #39
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    ton dossier créé par cron s'écrit bien "Fevrier2024" ? pas "fevrier2024" ou "Février2024" ? linux fait la différence entre minuscule et majuscule; donc si ça ne correspond pas, pour lui, ce n'est le même répertoire.
    Tu pourrais faire la création via python, via os.mkdir comme ça tu seras sûr à 100% d'utiliser la bonne graphie.

  20. #40
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Déjà dit :

    date +%B%Y donne février2024 et non Fevrier2024.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2019, 13h23
  2. Comment enregistrer les images d'une page web ?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 11/07/2006, 22h09
  3. [debutant] lister tout les mots d'une page web!
    Par kriskikout dans le forum Web
    Réponses: 20
    Dernier message: 31/05/2006, 22h47
  4. Site qui vérifie les actualisations d'une page web
    Par LFC dans le forum Autres langages pour le Web
    Réponses: 4
    Dernier message: 01/12/2005, 18h47
  5. Lire le contenu d'une page web grâce à un script PHP
    Par BloodyImp dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2005, 22h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo