当Python 交互模式启动后,尝试导入某些之前编写的程序。应该能看到输出和以前一样。强调一下,导入模块会运行模块中的代码。
>>> import bounce ... watch output ... >>> import mortgage ... watch output ... >>> import report ... watch output ... >>>如果没有代码运行,可能是因为在错误的目录下运行了 Python。现在,尝试导入 fileparse 模块并获取有关该模块的帮助。
>>> import fileparse >>> help(fileparse) ... look at the output ... >>> dir(fileparse) ... look at the output ... >>>尝试使用 fileparse 模块来读取一些数据:
>>> portfolio = fileparse.parse_csv('Data/portfolio.csv',select=['name','shares','price'], types=[str,int,float]) >>> portfolio ... look at the output ... >>> pricelist = fileparse.parse_csv('Data/prices.csv',types=[str,float], has_headers=False) >>> pricelist ... look at the output ... >>> prices = dict(pricelist) >>> prices ... look at the output ... >>> prices['IBM'] 106.11 >>>尝试导入一个函数,以便不用再包含模块名:
>>> from fileparse import parse_csv >>> portfolio = parse_csv('Data/portfolio.csv', select=['name','shares','price'], types=[str,int,float]) >>> portfolio ... look at the output ... >>> 练习 3.12:使用库模块在第 2 节中,编写了 report.py 程序用来生成像下面这样的股票报告:
Name Shares Price Change ---------- ---------- ---------- ---------- AA 100 9.22 -22.98 IBM 50 106.28 15.18 CAT 150 35.46 -47.98 MSFT 200 20.89 -30.34 GE 95 13.48 -26.89 MSFT 50 20.89 -44.21 IBM 100 106.28 35.84使用该程序并对其进行修改,以便使用 fileparse 模块中的函数完成所有输入文件的处理。为此,将 fileparse 作为模块导入,并修改 read_portfolio() 和 read_prices() 函数以便使用 parse_csv() 函数。
在本练习开始时,请使用交互示例作为指南。之后,应该能够获得与之前完全相同的输出。
练习 3.14:使用更多的库导入在第 1 节中,编写了一个读取股票投资组合和计算费用的程序 pcost.py。
>>> import pcost >>> pcost.portfolio_cost('Data/portfolio.csv') 44671.15 >>>请修改 pcost.py 文件,以便它能够使用 report.read_portfolio() 函数。
说明当完成练习后,您应该拥有三个程序。包含通用目的函数 parse_csv() 的fileparse.py 程序。用于生成报告,且包含 read_portfolio() 和 read_prices() 函数的 report.py 程序。最后,利用 report.py 程序中编写的read_portfolio() 函数去计算股票投资组合费用的 pcost.py 程序。
注:完整翻译见 https://github.com/codists/practical-python-zh