Oberhalb der while Schleife muss dein vorgegebenes Template eingelesen werden:
f = open('deine_html_template_heisst.html')
template = f.read()
f.close()
In der Whileschleife nach dem print kann die Ausgabe durch schreiben in eine Datei erfolgen. Auf diese sollte dann der Webserver zugriff haben können. Die Ausgabedatei ist nicht das Template... Ansonsten würdest Du das Template überschreiben und das wäre doof.
ausgabe_datei = open('ausgabedatei.html')
ausgabe_datei.write(
template.replace(
'Hier soll der Messwert rein',
"Temperature on channel 1: %0.02f°C" % calcTemperature(adc.read_voltage(1) ) )
ausgabe_datei.close()
Viel einfacher geht es nicht. Generell ist dein Lösungsansatz allerdings ziemlich schlecht. Du ließt im 0,5 Sekundentakt den Wert aus und würdest dann die Datei schreiben. Eigentlich wäre es viel besser, wenn Du einen kleinen Python Webserver schreibst, der nix weiter macht als bei einem Aufruf der Webadresse erst dann den Wert zu liefern..
Z.B.:
from http.server import HTTPServer
from http.server import BaseHTTPRequestHandler
class MesswertRequestHandler(BaseHTTPRequestHandler):
template = open('deine_html_template_heisst.html').read()
def do_GET(self):
messwert = 'hier deinen Messwert laden'
self.send_response(200)
self.end_headers()
self.wfile.write(self.template.replace('Hier soll der Messwert rein', messwert))
def run(server_class=HTTPServer, handler_class=MesswertRequestHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
if __name__ == '__main__':
run()