python3 包的导入

-----------------------glance目录下的__init__.py文件的内容------------------------
if __name__ == "__main__":
print("I'm glance.")
else:
from .api.policy import *
from .api.versions import *
from .cmd.manage import *
from .db.models import *

------------------------------policy.py文件的内容-----------------------
def get():
print("from policy.py")



-------------------------versions.py文件的内容--------------------------
def create_resource(conf):
print("from versions.py: ", conf)



------------------------manage.py文件的内容--------------------------
def main():
print("from manage.py")



------------------------models.py文件的内容---------------------------
def register_models(engine):
print("from models.py: ", engine)



--------------------------test.py文件的内容------------------------------
 
 
'''
1.无论是imoort形式还是from...import形式,凡是在导入语句中(而不是使用时)遇到带点的,都要第一时间提高警觉:
这是关于包才有的导入语法.
2.包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录)
3.import导入文件时,产生名称空间中的名字来源于文件,import包产生的名称空间的名字同样来源于文件,
即包下的__init__.py,导入包本质就是在导入文件.
'''
import glance

glance.get()
glance.create_resource('web.conf')
glance.main()
glance.register_models("mysql")


执行test.py的结果:
from policy.py
from versions.py:  web.conf
from manage.py
from models.py:  mysql

猜你喜欢

转载自www.cnblogs.com/lilyxiaoyy/p/10827052.html
今日推荐