2016-04-22 15 views
-6

私は2つの値を返すようにしたい:最初のものはラズベリーと第二1に接続されたセンサから読み出されたデータは、現在の時刻ですSyntaxError:関数の外部に 'return'がありますか?

rasp.py

#!/usr/bin/env python 
from datetime import datetime 
class ReturnValue(object): 
    __slots__ = ["x","y"] 
    def __init__(self,x,y): 
    self.x = x 
    self.y = y 

def foo () : 
    i = 0 
    for i in range(0,19): 
    i += 1 
    tfile = open("/sys/bus/w1/devices/28-000007101990/w1_slave") 
    text = tfile.read() 
    tfile.close() 
    secondline = text.split("\n")[1] 
    temp = secondline.split(" ")[9] 
    temperature = float(temp[2:]) 
    temperature = temperature/1000 
    mystr = str(temperature) 
    y = mystr.replace(",",".") 
    x = datetime.datetime.now().time() 
return ReturnValue(x, y) 
+0

'return'文は明らかに' foo'関数の外にあります。 Pythonの字下げで重要です。 2つのオブジェクトを返すためにクラスを作成する必要もありません。単に 'return x、y'を実行します。 – DeepSpace

+0

https://www.python.org/dev/peps/pep-0008/このリンクを読む –

+0

AttributeError:タイプオブジェクト 'datetime.datetime'に 'datetime属性がありません – fraulein

答えて

0

あなたは正しくreturn文をインデントしませんでしたまた関数の最初の行はfooです。

+0

AttributeError:タイプオブジェクト 'datetime.datetime'には属性 'datetimeはありません – fraulein

+0

http://stackoverflow.com/questions/20690772/attributeerror-module-object-has-no-attribute – letmutx

関連する問題