estoy bastante pez con el tema del python pero me he visto en la necesidad de hacer un scripcillo para un programa q monitoriza unos ficheros.
el caso es que no se muy bien como hacer para que una vez el script en python está ejecutandose y que lee unos ficheros con un contenido numerico. cuando este fichero cambia, pq se actualiza cada 5min vuelva el demonio de script python a cargar el fichero abierto y use los nuevos valores.
No se si me he explicado bien..
os dejo el script para ver cómo lo véis y si me podéis decir cómo hacer para recargar estos ficheros que lee el script python:
----
Código Python:
Ver original
#!/usr/bin/env /usr/bin/python import subprocess import re import sys import time from datetime import datetime import httplib import logging import logging.handlers import argparse import sys import time # this is only being used as part of the example delay = 360 tempout = open("/home/pi/projects/tempo1.txt") tempout1 = tempout.read(8) tempout1 =float(tempout1)* 1.8 + 32 tempout.close() #print tempout # upload data to mi_web try: conn = httplib.HTTPConnection("miweb.com") path = "/blablalba/blabalba?ID=xxxxxxxxx&PASSWORD=clave_pass&dateutc=" + str(datetime.utcnow().isoformat()) + "&humidity=" + str(humidity) + "&tempf=" + str(tempo ut1) + "&baromin=" + str(press1) + "&softwaretype=status=updateraw" conn.request("GET", path) res = conn.getresponse() print path # checks whether there was a successful connection (HTTP code 200 and content of page contains "success") if ((int(res.status) == 200) & ("success" in res.read())): print "%s - Successful Upload\nTemp: %.1f F, Humidity: %.1f %%\nNext upload in %i seconds\n" % (str(datetime.now()), temp, humidity, delay) else: print "%s -- Upload not successful, check username, password, and formating.. Will try again in %i seconds" % (str(datetime.now()), delay) except IOError as e: #in case of any kind of socket error print "{0} -- I/O error({1}): {2} will try again in {3} seconds".format(datetime.now(), e.errno, e.strerror, delay) # Wait before re-uploading data time.sleep(delay)
-----
El fichero que necesito que se vuelva a leer en el demonio phyton de este script es tempo1.txt.. pero se queda abierto en el demonio y no hay forma que vuelva a cargarlo al pasar los 350segunds aprox.
alguna ayuda, please??
gracias!