python 第三方包 source怎么导入

如题所述

我们知道,定义在环境变量PYTHONPATH里是可以直接用import导入的。下面我们来操作如何从非pythonpath目录导入第三方包或者自己定义的包。
假定我们的包有如下的目录结构:person 是最顶层的包,man、woman、child是子包
person\
__init__.py
person.py
man\
__init__.py
goodman.py
child\
__init__.py
lovelychild.py
woman\
__init__.py
goodwoman.py

首先,我们把包所在目录(c:\testpackage)加入到sys.path路径里
>>> import sys
>>> sys.path.append("c:\\testpackage")

注意:路径分隔符一定要写成”\\”的
1、用import方式 导入包,此种方式必须写全包的路径
>>> import person.person
>>> person.person.printperson()
person
>>> import person.man.goodman
>>> person.man.goodman.printman()
man
>>> import person.woman.goodwoman
>>> person.woman.goodwoman.printwoman()
woman
>>> import person.man.child.lovelychild
>>> person.man.child.lovelychild.printchild()
child

2、用from * import *方式导入包
>>> from person import person
>>> person.printperson()
person
>>> from person.man import goodman
>>> goodman.printman()
man
>>> from person.man.child import lovelychild
>>> lovelychild.printchild()
child
>>> from person.woman import goodwoman
>>> goodwoman.printwoman()
woman

也可以用以下方式:
>>> from person import *
>>> person.printperson()
person
>>> from person.man import *
>>> goodman.printman()
man
>>> from person.man.child import *
>>> lovelychild.printchild()
child

注意:这样的语句会导入哪些文件取决于操作系统的文件系统;所以我们在__init__.py 中加入 __all__ 变量;该变量包含执行这样的语句时应该导入的模块的名字;它由一个模块名字符串列表组成。
温馨提示:答案为网友推荐,仅供参考
相似回答