美文网首页@软件测试
Python>>>python文件夹中__in

Python>>>python文件夹中__in

作者: 太阳当空照我要上学校 | 来源:发表于2018-11-07 19:12 被阅读33次

    在学习接口自动化时,遇到一个很坑的问题,一直不知道啥原因,后面知道真相后,感觉要蠢哭了orz~~~~~~

    事情真相是这样的:

    如下如,test文件夹下 有个 testcase,可以运行成功且无报错,也生成了测试报告,如红框所示:

    测试报告

    可是打开测试报告后,如下图所示:

    测试结果并没有写入表单中。

    打开测试报告

    折腾了好久,最后发现是 少了 __init__.py 文件,如果没有__init__.py文件的话就是普通的directory,它就不能被导入或者包含其它的模块和嵌套包,那么执行也是无效的。所以说 __init__.py的 第一个作用就是package的标识。

    如果是直接新建 python package 的话,可以看到会默认在该目录下新增一个 __init__.py 文件,该Python文件默认是空的。

    嗯~ 后面加上了 __init__.py文件后,再次运行用例。

    再次运行用例

    得到新的 测试报告,并打开测试报告查看内容,如下图所示,已经有测试结果了。

    新的测试报告 新的测试报告内容

    那么__init__.py 到底是什么作用呢?

    1. python中package的标识,它可以什么也不定义;可以只是一个空文件,但是必须存在,不能删除。

    2. 我们可以在__init__.py导入我们需要的模块,不需要一个个导入了。

    3. __init__.py 中还有一个重要的变量,__all__, 它用来将模块全部导入。

    如下图:


    # __init__.py  中将模块全部导入

    __all__ =['os', 'sys', 're', 'urllib']

    # a.py  中可使用 import* 直接导入

    from  package  import*


    总之~

    _init_.py 还是越简单越好,尽量默认为空就好。

    相关文章

      网友评论

      本文标题:Python>>>python文件夹中__in

      本文链接:https://www.haomeiwen.com/subject/nzzvxqtx.html