Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
@Anton_s: Ich sehe das nicht wo Du den Vorschlag von cofi verwendet hättest. Das ist ja noch mal das gleiche wie vorher. Das sich am Ergebnis nichts ändert wenn Du am Code nichts veränderst, sollte eigentlich klar sein.
Die ganze Wiederholungen im Quelltext und die durchnummerierten Namen sind unschön. Dafür gibt es Schleifen, Funktionen, und Datenstrukturen wie beispielsweise Listen, um so etwas zu umgehen.
@Anton_s: Klappt immer noch nicht ist keine sinnvolle Fehlerbeschreibung. Die Zeilen von cofi lösen Dein anfangs beschriebenes Problem perfekt, ich sehe aber nicht, wie Du sie in Deinem Code eingebaut hast. Da stellt sich mir die Frage: hast Du die Lösung überhaupt ausprobiert. Und falls ja, wie genau?
@Anton_s: Wir wollen wissen *was* Du *genau* gemacht hast. Bei cofi's Code entstehen in der Textdatei mehrere Zeilen. Was natürlich jetzt noch sein könnte, ist das der Browser das ignoriert, weil Browser das bei HTML halt so machen.
Weder Dein Code noch der von cofi erzeugen allerdings HTML. Zudem sind bei Deinem die `seek()`-Aufrufe unsinnig und falsch. Das dürfte mit Nullbytes zwischen den Zeichenketten enden, die in einer HTML-Datei bzw. Textdateien im allgemeinen bei den meisten Textkodierungen, nichts zu suchen haben.
Setz Dich am besten mal mit einem Grundlagentutorial für Python auseinander wo gezeigt wird wie man mit Zeichenketten umgeht. Insbesondere wie man Werte in eine Zeichenkette formatiert. Und dann schreib ein kleines HTML-Grundgerüst mit Platzhaltern für die drei Werte und formatiere die dort hinein, damit Du eine gültige HTML-Datei bekommst. Wo die entsprechenden Tags drin stehen um das vom Browser formatieren zu lassen, wie Du es angezeigt haben möchtest. Also zum Beispiel <p>-Tags um Absätze zu erstellen.
BlackJack hat geschrieben:Die ganze Wiederholungen im Quelltext und die durchnummerierten Namen sind unschön. Dafür gibt es Schleifen, Funktionen, und Datenstrukturen wie beispielsweise Listen, um so etwas zu umgehen.
Das könnte dann beispielsweise so aussehen (ungetestet):
filelist = ["/sys/bus/w1/devices/w1_bus_master1/28-000003bad286/w1_slave",
"/sys/bus/w1/devices/w1_bus_master1/28-000003bad0b2/w1_slave",
"/sys/bus/w1/devices/w1_bus_master1/28-000003bac591/w1_slave"]
temperatures = []
for file_ in filelist:
with open(file_) as tfile:
data = tfile.read().split()[-1]
temperatures.append(float(data[2:]) / 1000)
Anton_s hat geschrieben:Ich würde noch gerne eine schleife einbauen, damit das ganze alle 20 sek sich wiederholt. Hat da noch jemand einen Tipp für mich ?
Kopiere doch einfach den kompletten Quelltext so oft, wie du ihn brauchst, untereinander. Zwischen jeder Kopie setzt du ein `time.sleep(20)`.
@Anton_s:
1. Öffne die Datei mit Deinem Editor
2. Füge eine Zeile in Zeile 4 hinzu:`while True:`
3. Füge darunter eine Zeile hinzu: `time.sleep(20)`
4. Rücke alles unterhalb `while True` um 4 Leerstellen ein.
Obwohl mir @snafus Variante deutlich besser gefällt.
snafu hat geschrieben:Kopiere doch einfach den kompletten Quelltext so oft, wie du ihn brauchst, untereinander. Zwischen jeder Kopie setzt du ein `time.sleep(20)`.