2013-08-24 60 views
0

我有一個python函數。從函數使用python獲取值

def v(): 
    response = urllib2.urlopen('https://api.gosquared.com/v2/concurrents?api_key=xxxxx&site_token=xxxx&presenter=old') 
    data = json.load(response) 
    print data 

,我有一個火力點

f = Firebase('https://xxxxx.firebaseio.com/channel/1/status/viewers') 
r = f.update({'viewers': 'v()'}) 

我想該鍵的值:值對是從V()函數返回值。我已經嘗試'v()',「v()」和v()無濟於事。

我不能正確理解什麼?

+0

我可能需要對該函數的一個變量,然後把該變量放在值的位置.... – sirvon

回答

3

您的函數應該爲return一個值。它只是打印,而不是返回nything

試試這個:

def v(): 
    response = urllib2.urlopen('https://api.gosquared.com/v2/concurrents?api_key=xxxxx&site_token=xxxx&presenter=old') 
    data = json.load(response) 
    #comment the below line if you don't want to print data and simply want to return it 
    print data 
    return data 

UPDATE: 如果你想存儲返回的數據給一個變量,那麼:

returned_data = v() 
+0

謝謝你的例子。 – sirvon

+0

很樂意幫忙!如果這解決了你的問題,upvote /接受答案。 – softvar

+0

將它存儲在var中有什麼好處,而不僅僅是在值的地方調用函數 – sirvon

3

你的函數什麼都不返回。嘗試return data而不是(或之後)print data

+0

想通了。 DUH!簡單明瞭! – sirvon