Python Mit strings rechnen

Mr. Poe

Lt. Commander
Registriert
Juli 2010
Beiträge
1.812
hallo,

ich versuche gerade mit python und meinem raspberry pi ein LCD display anzusteuern (http://www.rpiblog.com/2012/11/interfacing-16x2-lcd-with-raspberry-pi.html)

es läuft alles und ich möchte jetzt ein paar daten auf diesem display anzeigen.

hier mein bisheriger code:
Code:
    lcd = HD44780()
    lcd.message("test")
    sleep(5)
    lcd.clear()
    while 1:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read()
        eth0_rx = open("/sys/class/net/eth0/statistics/rx_bytes").read()
        eth0_tx = open("/sys/class/net/eth0/statistics/tx_bytes").read()

        if eth0_rx >= 1000:
            rx = "KB"
        if eth0_rx >= 1000000:
            rx = "MB"
        if eth0_rx >= 1000000000:
            rx = "GB"
        if eth0_tx >= 1000000000:
            tx = "GB"
        elif eth0_tx >= 1000000:
            tx = "MB"
        elif eth0_tx >= 1000:
            tx = "KB"
        lcd.message(" " + temp[0:2] + "," + temp[2] + "C" + "\ntx:" + eth0_tx[0:3] + tx + " rx" + eth0_rx[0] + "," + eth0_rx[1] + rx)
        sleep(3)
        lcd.clear()

es funktioniert auch alles... bis auf die anzeige der netzwerk daten. (es sollen die empfangenen und gesendeten bytes angezeigt werden.)

er zeigt zwar die daten an... aber er zeigt immer GB dahinter an egal obs kb oder MB sind... wieso?

die frage ist, wie ich mit strings rechnen kann... den rest würde ich selbst schaffen ;)
 
wie kann ich das denn dann int in einen string umwandeln?

@edit:
hat sich erledigt...
 
Zuletzt bearbeitet:
Falls jemand diesen Thread in Zukunft findet: solche konvertierungen funktionieren in Python im allgemeinen mit zieltyp(wert), also z.B.:
Code:
int("3") == 3
float("1.5e2") == 150.0
str(20) == "20"
 
Zurück
Oben