Tu stockes les dernières valeurs dans un fichier caché (bon dans l'absolu, pour faire les choses proprement, il faudrait faire attention et prévoir les cas où le script est lancé plusieurs fois en parallèle), tu lis les nouvelles valeurs, et si elles sont égales aux anciennes tu renvoies 'N/A' (même si un simple None ferait l'affaire mais c'est une autre histoire).
Plutôt qu'un script lancé par cron, tu fais un daemon qui tourne en permanence (et peut garder les dernières valeurs dans une variable). ici c'est sûrement overkill, mais si voulais faire un truc plus intelligent qui se met par exemple à lire les valeurs plus souvent s'il s'aperçoit qu'elles changent rapidement (grosse fuite :) ) ça serait une piste.
gagnerait à être écrit (plus court, le fichier est fermé même en cas d'erreur):
withopen(sensorFile,"r")asf:text=f.read().strip()
Ça serait mieux que tes tas de text.split("\n") soit fait une seule fois au début et stocké dans une variable.
Il n'y a pas besoin de 'parenthéser' les return ou les if. '/'+str(cptA)+'/'+str(cptB)+'/'+str(i) devient en plus concis/lisible (et plus rapide je pense) '/%s/%s/%s' % (cptA, cptB, i) (les string ont aussi une méthode format() mais je suis resté à mes vieilles habitudes).
Ça fait longtemps que <> est obsolète au profit de !=.
[^] # Re: Intuitivement...
Posté par GuieA_7 (site web personnel) . En réponse au message Problème de doublons dans un fichier txt. Évalué à 5.
Avec un peu d'imagination les solutions sont nombreuses :
Noneferait l'affaire mais c'est une autre histoire).Sinon quelques remarques sur ton code:
s'écrit en Python idiomatique:
gagnerait à être écrit (plus court, le fichier est fermé même en cas d'erreur):
Ça serait mieux que tes tas de
text.split("\n")soit fait une seule fois au début et stocké dans une variable.Il n'y a pas besoin de 'parenthéser' les
returnou lesif.'/'+str(cptA)+'/'+str(cptB)+'/'+str(i)devient en plus concis/lisible (et plus rapide je pense)'/%s/%s/%s' % (cptA, cptB, i)(les string ont aussi une méthode format() mais je suis resté à mes vieilles habitudes).Ça fait longtemps que
<>est obsolète au profit de!=.