hola,
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!