|
★ 方式一:from xx import yy
- 导入方式
- from info import redis_store
复制代码 - 使用说明
- 【理解】: 相当于在本地定义一个变量redis_store 指向info模块中redis_store的值,对本地的redis_stone直接进行赋值,只会修改本地变量redis_store的指向,并不会修改info模块中redis_store的值;这里如果info模块中redis_store是可变类型数据(如list()),在本地中通过from info import redis_store导入后直接对其指向的值进行修改(如redis_store.append()),才会修改info模块中redis_store的值
复制代码 ★ 方式二:import xx
- 导入方式
- import info
- info.redis_store
复制代码 - 使用说明
- 【理解】: 使用 import info,相当于在本地定义一个变量info 指向模块info,但是它保持着自已的名字空间,这就是为什么你需要使用模块名来访问它的函数或属性: module.function 的原因
- 说明 导包或者导入包内变量,python解释器会将整个文件运行一次
复制代码 ★ 方式三:__import__("xx")
- 导入方式
- 使用说明
- 【理解】:返回模块名叫info的模块(模块也是对象)
复制代码 ★ 方式四:import_module(module_path)
- 文件结构
- imp
- │───demo.py
- │
- └───apps
- └───api
- └───urls.py
复制代码 - 文件内容
- urls.py
- urlpatterns = []
- app_name = "api"
复制代码 - demo.py
- # 1. 基础导入模式
- from apps.api import urls
- print(urls.urlpatterns, urls.app_name)
- # 2. 字符串导入模式
- import importlib
- module_path = 'apps.api.urls'
- module = importlib.import_module(module_path)
- print(module.urlpatterns, module.app_name)
- """
- 执行结果:
- [] api
- [] api
- """
复制代码
来源:https://www.cnblogs.com/cs-songbai/p/18110585
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|