Syntaxe non valide lorsque vous essayez d'ouvrir/écriture d'un fichier
Récemment, j'ai installé mon nouveau DS18B20 capteur de température, à l'aide de la Raspberry Pi. Il fonctionne bien et j'ai réussi à modifier un programme à partir de la Adafruit système d'apprentissage afin d'obtenir la température lors de l'posée par le biais de la saisie au clavier. Prochaine étape, je suis en train d'écrire les relevés de température dans un fichier. L'ensemble du code est :
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()
La partie qui nous intéresse est celui-ci :
def write_temp():
localtime=time.asctime(time.localtime(time.time())
f = open("my temp",'w')
f.write(print localtime,read_temp())
f.close()
La Framboise m'envoie ceci :
"Il y a une erreur dans votre programme : syntaxe non Valide"
Et met l'accent sur le "f" de la ligne "f = open("mon temp", "w")"
J'ai essayé aussi avec "fo", ça ne fonctionne pas. Néanmoins, il n'y a pas d'erreur quand j'essaie de mettre aucune logique avant le code, comme ceci (c'est un code de test, il n'est pas lié avec le code précédent) :
f = open("test",'w')
f.write("hello")
Avez-vous des indices sur la façon de le faire fonctionner? Il peut être simple mais je suis un débutant en python et en général les programmes.
Vous devez vous connecter pour publier un commentaire.
Cette erreur de syntaxe est levée, car le code ne manque qu'une fermeture de parenthèses ")".
Donc la ligne suivante est de lancer l'interpréteur une erreur parce que votre précédente déclaration n'est pas complète. Cela arrive fréquemment.