- 阅读权限
- 255
- 威望
- 1 级
- 论坛币
- 49407 个
- 通用积分
- 51.8704
- 学术水平
- 370 点
- 热心指数
- 273 点
- 信用等级
- 335 点
- 经验
- 57815 点
- 帖子
- 4006
- 精华
- 21
- 在线时间
- 582 小时
- 注册时间
- 2005-5-8
- 最后登录
- 2023-11-26
|
- from threading import Thread
- from queue import Queue
- import urllib.request
- URL = 'http://finance.yahoo.com/d/quotes.csv?s={}=X&f=p'
- def get_rate(pair, outq, url_tmplt=URL):
- with urllib.request.urlopen(url_tmplt.format(pair)) as res:
- body = res.read()
- outq.put((pair, float(body.strip())))
- if __name__ == '__main__':
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument('pairs', type=str, nargs='+')
- args = parser.parse_args()
- outputq = Queue()
- for pair in args.pairs:
- t = Thread(target=get_rate,
- kwargs={'pair': pair,
- 'outq': outputq})
- t.daemon = True
- t.start()
- for _ in args.pairs:
- pair, rate = outputq.get()
- print(pair, rate)
- outputq.task_done()
- outputq.join()
复制代码
|
|