Python URL download

2020-04-18 05:44发布

The code below returns none. How can I fix it? I'm using Python 2.6.

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()

标签: python url
2条回答
一纸荒年 Trace。
2楼-- · 2020-04-18 06:23

Your method doesn't explicitly return anything, so it returns None

查看更多
Explosion°爆炸
3楼-- · 2020-04-18 06:25

You have to explicitly return the data from fetch_quote function. Something like this:

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

In the absence of an explicit return statement Python returns None which is what you are seeing.

查看更多
登录 后发表回答