python中的包

Posted 风雪泪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的包相关的知识,希望对你有一定的参考价值。

为了组织好多个模块,会将python中的多个模块放入到一个包里面。包与普通文件夹的区别是,包中多了一个__init()__.py的文件,这个文件可以是空文件,也可以有内容,如果有内容在导入这个包的时候会执行其中的程序。

下面说下包中的文件相互引用的问题,基本目录结构如下:

package
  |- pkg
      |- __init__.py
      |- a.py
      |- b.py
  |- pkg2
      |- __init__.py
      |- a.py
      |- b.py

 pkg/a.py、pkg/b.py、pkg2/a.py、pkg2/b.py中分别有一个fun函数,内容如下:

pkg/a.py
def fun():
    print ("I‘m pkg.a.fun() ")

pkg/b.py
def fun():
    print ("I‘m pkg.b.fun() ")

pkg2/a.py
def fun():
    print ("I‘m pkg2.a.fun() ")

pkg2/b.py
def fun():
    print ("I‘m pkg2.b.fun() ")

 

package目录中创建一个主程序文件:main.py,用于演示如何调用包中的各个文件

import pkg.a as a
import pkg.b as b

import pkg2.a as a2
import pkg2.b as b2

a.fun()
b.fun()

a2.fun()
b2.fun()

#调用方式二:
import pkg2.a import pkg2.b print(----------- another way -----------------) pkg2.a.fun() pkg2.b.fun()

执行结果如下:

Im pkg.a.fun() 
Im pkg.b.fun() 
Im pkg2.a.fun() 
Im pkg2.b.fun() 
----------- another way -----------------
Im pkg2.a.fun() 
Im pkg2.b.fun()

 

以上是关于python中的包的主要内容,如果未能解决你的问题,请参考以下文章

python中的包

尽管覆盖了 onSaveInstanceState,但片段的包在 onCreate 中为空

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

如何从片段中调用 getSupportFragmentManager()?

Python代码阅读(第13篇):检测列表中的元素是否都一样

nose在python2与python3中的包的自动发现用例的区别