概念
package ---文件夹
|--module.py
package ---python包
|--__init__.py ---标识当前文件夹是一个包,可为空
|--module.py ---模块
导入包形式3种
||方法|形式|例子|
|:-😐:-😐:-😐:-😐:-😐
|基本导入包|import|基本导包|import package|
|动态导入包|__import__()
|系统函数|os = __import__('os')
|
|模块导入包|importlib模块|Python标准库|foo = importlib.import_module(‘foo’)|
import导入包
import package # 导包
import module # 导模块 module.a()
form package import module # 从包中导模块 module.a()
from module import * # 从模块中导入所有内容 a()
import os, sys, time
from os import *
from os import path, walk, unlink
from os import uname, remove
from os import (path, walk, unlink, uname,remove, rename)
from os import path, walk, unlink, uname, remove, rename
动态导入包
__import__ (name[, globals[, locals[, fromlist[, level]]]])
name = __import__ ("name", globals(), locals(), ["A", "B"], -1)
A = name.A
B = name.B
name (required): 被加载 module 的名称
globals (optional): 包含全局变量的字典,该选项很少使用,采用默认值 global()
locals (optional): 包含局部变量的字典,内部标准实现未用到该变量,采用默认值 local()
fromlist (Optional): 被导入的 submodule 名称
level (Optional): 导入路径选项,默认为 -1,表示同时支持 absolute import 和 relative import
importlib导入包
Python标准库中提供了importlib模块
目的是提供import语句(还有import())的底层实现
另外,importlib让程序员可以在导入过程中创建自己的对象。
imoprt importlib
#导入foo.py模块
foo = importlib.import_module('foo')
foo.main()
sys查看已导入包
import sys
print(sys.modules)#打印,查看该字典具体内容。