Python: 如何安装一个源代码模块

3

你们都知道这个问题的答案,非常简单,但我对Python还是很新 :)

我在网上找到了一段从雅虎财经读取股票价格的代码。

#!/usr/bin/env python # # 版权所有 2007-2008,Corey Goldberg (corey@goldb.org) # # 许可证:GNU LGPL # # 此库是免费软件;您可以根据自由软件基金会发布的GNU较低通用公共许可证的条款重新分发它;版本为2.1或(如果您选择)任何更高版本。
import urllib
""" 这是“ystockquote”模块。
此模块提供了从Yahoo Finance检索股票数据的Python API。
示例用法: >>> import ystockquote >>> print ystockquote.get_price('GOOG') 529.46 """
def __request(symbol, stat): url = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (symbol, stat) return urllib.urlopen(url).read().strip().strip('"')
def get_all(symbol): """ 获取给定股票标签符号的所有可用报价数据。
返回一个字典。 """ # 解析财经页面中的数据,并把它们存储在字典里面。 values = __request(symbol, 'l1c1va2xj1b4j4dyekjm3m4rr5p5p6s7').split(',') data = {} data['price'] = values[0] data['change'] = values[1] data['volume'] = values[2] data['avg_daily_volume'] = values[3] data['stock_exchange'] = values[4] data['market_cap'] = values[5] data['book_value'] = values[6] data['ebitda'] = values[7] data['dividend_per_share'] = values[8] data['dividend_yield'] = values[9] data['earnings_per_share'] = values[10] data['52_week_high'] = values[11] data['52_week_low'] = values[12] data['50day_moving_avg'] = values[13] data['200day_moving_avg'] = values[14] data['price_earnings_ratio'] = values[15] data['price_earnings_growth_ratio'] = values[16] data['price_sales_ratio'] = values[17] data['price_book_ratio'] = values[18] data['short_ratio'] = values[19] return data
def get_price(symbol): # 获取指定股票符号的股价。 return __request(symbol, 'l1')
def get_change(symbol): # 获取指定股票符号的价格变化量。 return __request(symbol, 'c1')
def get_volume(symbol): # 获取指定股票符号的成交量。 return __request(symbol, 'v')
def get_avg_daily_volume(symbol): # 获取指定股票符号的平均日成交量。 return __request(symbol, 'a2')
def get_stock_exchange(symbol): # 获取指定股票符号所在的证券交易所。 return __request(symbol, 'x')
def get_market_cap(symbol): # 获取指定股票标签符号的市值。 return __request(symbol, 'j1')
def get_book_value(symbol): # 获取指定股票符号的账面价值。 return __request(symbol, 'b4')
def get_ebitda(symbol): # 获取指定股票符号的息税前利润。 return __request(symbol, 'j4')
def get_dividend_per_share(symbol): # 获取指定股票符号的每股股息。 return __request(symbol, 'd')
def get_dividend_yield(symbol): # 获取指定股票符号的股息收益率。 return __request(symbol, 'y')
def get_earnings_per_share(symbol): # 获取指定股票符号的每股盈利。 return __request(symbol, 'e')
def get_52_week_high(symbol): # 获取指定股票符号的52周最高价。 return __request(symbol, 'k')
def get_52_week_low(symbol): # 获取指定股票符号的52周最低价。 return

我该如何安装这个模块以使用命令?我正在使用Windows 7和Python 3.xx。

非常感谢!

Kurt

2个回答

9
你可以将它简单地放在与脚本相同的目录中,然后可以导入它。
如果你想要“安装”它,你可以将它放在C:\Python31\Lib\site-packages\ystockquote.py,然后可以使用import ystockquote导入它。

1

这段代码实际上是为 Python 2.x 编写的,而由于 Python 3 不向后兼容,因此您将无法使用 Python 3 编译它。 我的建议是让您查看这个代码。那个是为 Python 3 写的,您可以在 Win7 和 Python 3 上使用它。 只需创建一个名为 test.py 的文件,将两个文件放置在同一个目录中,并编写以下代码:

from Ystock import  *
print (Ystock("GOOG").get_all())
print(Ystock("IBM+GOOG").get_stock_exchange());
print(Ystock("IBM+GOOG").get_dividend_per_share());

来源:http://ashkax.posterous.com/python3-yahoo-finance-class-v1-0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接