zoukankan      html  css  js  c++  java
  • python学习之模块&包的引用

    名词解释:

    模块:一个程序文件

    包:相当于一个类库,打包发布后相当于c#中的dll, 包中可包括若干个模块,比如main.py就是一个模块,对于test2文件下的所有模块组成一个包

    对于一个包而言,注定是要被其它模块进行引用,所以需要一件初始化信息,比如包的路径,这些信息都是依赖包下的__init__py文件中,对于包下的子包(命名空间下的子命名空间)每一级都会存在__init__py文件

    具体可参照下图

    下面讲述如何在代码中去引用模块或者包

    1:在主程序main.py中引用provide.py模块,并且执行其中的方法

    import provide;
    provide.stringProvider("hello");

    或者
    from provide import stringProvider;
    stringProvider("hello");

    或者

    from provide import stringProvider;
    a=stringProvider;
    a("hello");

    2:在主程序main.py中引用test2类库下的模块,并且执行其中的方法

    我们要访问test2下的tester 中的info.py模块的方法,因为类库跟模块不在同一个目录中,所以我们必须要加入一个上层路径

    关于访问不同目录的方法有许多种,可以参照http://python.usyiyi.cn/python_343/tutorial/modules.html#packages-in-multiple-directories

    代码为

    import sys;
    sys.path.append("..");

    因此可以向上面一样进行引用

    from test2.tester import info;
    info.printinfo();

    如果写为import test2.tester.info;

    则方法的引用也要同样写完整:test2.tester.info.printinfo();

  • 相关阅读:
    必须先将 ContentLength 字节写入请求流,然后再调用 [Begin]GetResponse。解决方法
    使用NPOI导出导入导出Excel
    使用jquery ajaxForm提交表单
    VS2013创建Windows服务
    mysql查询锁表及解锁
    selenium学习笔记(1)
    进程基本知识
    多任务原理
    数据转化之JSON
    安装Treserocr遇到的问题
  • 原文地址:https://www.cnblogs.com/airven/p/4959195.html
Copyright © 2011-2022 走看看