Ungültige syntax, wenn Sie versuchen zu öffnen/schreiben einer Datei

Kürzlich installierte ich meine neuen DS18B20 Temperatur-sensor, mit dem Raspberry Pi. Es funktioniert gut und ich es geschafft, ein Programm zu modifizieren, die aus der Adafruit learning system, um die Temperatur wenn Sie gefragt werden durch Tastatur-Eingabe. Im nächsten Schritt bin ich zu schreiben versucht, die Temperatur-Messwerte in eine Datei. Der gesamte code ist :

import os
import glob
import time
import sys

os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'

def read_temp_raw():
    f = open(device_file, 'r')
    lines = f.readlines()
    f.close()
    return lines

def read_temp():
    lines = read_temp_raw()
    while lines[0].strip()[-3:] != 'YES':
        time.sleep(0.2)
        lines = read_temp_raw()
    equals_pos = lines[1].find('t=')
    if equals_pos != -1:
        temp_string = lines[1][equals_pos+2:]
        temp_c = int(temp_string) / 1000.0
        return temp_c

def write_temp():
    localtime=time.asctime(time.localtime(time.time())
    f = open("my temp",'w')
    f.write(print localtime,read_temp())
    f.close()

while True:
    yes = set(['yes','y','ye',''])
    no = set(['no','n'])
    choix = raw_input("Temperature reading?(Y/N)")
    if choix in yes : write_temp()
    if choix in no : sys.exit()

Den Teil, den wir interessiert sind, ist dieses hier :

def write_temp():
        localtime=time.asctime(time.localtime(time.time())
        f = open("my temp",'w')
        f.write(print localtime,read_temp())
        f.close()

Den Raspberry schickt mir dies :

"Gibt es in Ihrem Programm ein Fehler : Ungültige syntax"

Und dann zeigt der "f" aus der Linie "f = open("mein temp", "w")"

Versuchte ich auch, mit "fo", es funktioniert nicht. Dennoch ist es kein Fehler, wenn ich versuche keine Logik, bevor der code, wie folgt aus (es ist ein test-code, es ist nicht im Zusammenhang mit dem vorherigen code) :

f = open("test",'w')
f.write("hello")

Haben Sie irgendwelche Hinweise, wie es funktioniert? Es mag einfach sein, aber ich bin ein Neuling in python und Programme im Allgemeinen.

InformationsquelleAutor user2650312 | 2013-08-04
Schreibe einen Kommentar