MAC 导入 HTMLTestRunner
MAC 导入 HTMLTestRunner
-
HTMLTestRunner放入Python环境中
sudo cp HTMLTestRunner.py /Library/Python/2.7/site-packagessudo cp test_HTMLTestRunner.py /Library/Python/2.7/site-package
-
执行
import HTMLTestRunner
, 如果没有报错,则导入成功。 -
通过
dir(HTMLTestRunner)
, 查看HTMLTestRunner包含方法:1['HTMLTestRunner', 'OutputRedirector', 'StringIO', 'Template_mixin', 'TestProgram', 'TestResult', '_TestResult', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__version__', 'datetime', 'main', 'saxutils', 'stderr_redirector', 'stdout_redirector', 'sys', 'time', 'unittest']
知识扩展:
要弄明白这个问题,首先要知道,python在执行import语句时,到底进行了什么操作,按照python的文档,它执行了如下操作:
第 1步,创建一个新的,空的module对象(它可能包含多个module);
第 2步,把这个module对象插入sys.module中
第 3步,装载module的代码(如果需要,首先必须编译)
第 4步,执行新的module中对应的代码。
在执行第3步时,首先要找到module程序所在的位置,搜索的顺序是:
当前路径 (以及从当前目录指定的sys.path),然后是PYTHONPATH,然后是python的安装设置相关的默认路径。正因为存在这样的顺序,如果当前路径或PYTHONPATH中存在与标准module同样的module,则会覆盖标准module。也就是说,如果当前目录下存在xml.py,那么执行import xml时,导入的是当前目录下的module,而不是系统标准的xml。
了解了这些,我们就可以先构建一个package,以普通module的方式导入,就可以直接访问此package中的各个module了。python中的package必须包含一个__init__.py的文件。