2010-09-03 2 views
1

Код ниже возвращает none. Как я могу это исправить? Я использую Python 2.6.Python URL загрузить

import urllib 

URL = "http://download.finance.yahoo.com/d/quotes.csv?s=%s&f=sl1t1v&e=.csv" 
symbols = ('GGP', 'JPM', 'AIG', 'AMZN','GGP', 'JPM', 'AIG', 'AMZN') 
#symbols = ('GGP') 

def fetch_quote(symbols): 
    url = URL % '+'.join(symbols) 
    fp = urllib.urlopen(url) 
    try: 
     data = fp.read() 
    finally: 
     fp.close() 

def main(): 
    data_fp = fetch_quote(symbols) 
# print data_fp 
if __name__ =='__main__': 
    main() 

ответ

4

Вы должны явно returndata из fetch_quote функции. Что-то вроде этого:

def fetch_quote(symbols): 
    url = URL % '+'.join(symbols) 
    fp = urllib.urlopen(url) 
    try: 
     data = fp.read() 
    finally: 
     fp.close() 
    return data # <======== Return 

В отсутствие явного оператора возврата Python возвращает None что то, что вы видите.

+0

Я протестировал это исправление, оно работает. «GGP», 14.65, «12:04 pm», 689816 ... – msw

+0

спасибо, исправил это !!!! – Merlin

2

Ваш метод не явно return ничего, так что returnsNone

+0

Как исправить, спасибо – Merlin

+4

Ух, верните что-нибудь? – Santa

Смежные вопросы