Frage von blaupups123, 37

Was genau passiert hier?

Guten Tag zusammen ,

es geht um folgenden Python Code :

def aktuelleTemperatur():
  
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/28-000005d2e508/w1_slave')
filecontent = file.read()
file.close()

# Temperaturwerte auslesen und konvertieren
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000

# Temperatur ausgeben
rueckgabewert = '%6.2f' % temperature 
return(rueckgabewert)

Wie genau wird der ausgelesene Wert formatiert ?

Vielen Dank :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von ralphdieter, 14

Der Gleitpunktwert wird als Dezimalzahl ausgegeben:

  • mit Dezimalpunkt, ohne Tausender-Trenner
  • negative Werte mit vorangestelltem '-'
  • auf 2 Nachkommastellen gerundet
  • rechtsbündig mit Leerzeichen auf mindestens 6 Zeichen (inkl. Dezimalpunkt und Minus) erweitert.

Beispiele: " 12.35", " -0.12", "-123456789.00"

https://docs.python.org/2/library/stdtypes.html#string-formatting-operations

P.S.: Der Doppelpunkt in stringvalue[2:] muss weg.

Antwort
von Nicotechnik, 16

Send mal bitte den kompletten Code 👍🏼

Kommentar von blaupups123 ,

bezieht sich nur auf den Teil. Trozdem Danke

Antwort
von webflexer, 20

Bin zwar kein Python Experte aber ich kann folgendes "herauslesen".

Es wird eine Funktion mit dem Namen 

aktuelleTemperatur

definiert.

In dieser Funktion wird eine Datei (Textdatei?) geöffnet, ausgelesen und wieder geschlossen.

Der Inhalt dieser Datei wird in eine Variable gesetzt, das ganze wird aufgeteilt (gesplittet) und jeder ausgelesene Wert wird dann mathematisch gerundet.

In einer weiteren Variable wird mit dem Modulo Operator eine Berechnung mit der ersten Variable durchgeführt.

Am Ende gibt die Funktion einen Rückgabewert dieser Berechnung.

Kommentar von blaupups123 ,

Danke :)

Es wird ein Temperatursenosr ausgelesen.

Keine passende Antwort gefunden?

Fragen Sie die Community