#模块
1.导入模块
import module
from module import * 不推荐(不用)
from module import 函数
#导入自定义模块
特点
1.import module(自己定义的模块) 只能导入自己定义在同一目录下的模块
2.from file_name(文件名(同一运行文件下的文件)) import module(自己定义的模块) 可导入同一目录文件下自己定义的模块
3.假设同一目录下有一文件,文件中还包含多个文件,最里面是你自己定义的文件模块 用点访问多层文件 web试运行在同一目录下的文件,web1是web下的文件,web2是web1下的文件,模块在web2下, 要用自己的模块
下面是在PaChong.py中调用
#导入模块
from web.web1.web2 import module
from web.web1.web2.module import module中的函数
4.从里往外调用自定义模块
import sys,os
#sys.path.append("D:Python ProiectlujiachengInclude") #暂时添加运行路径(写死)
from Include import test
#os.path.dirname()从里往外找文件上一层目录
#os.path.abspath()转化为绝对路径
#__file__显示当前文件的路径名
BASE_DIR=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(BASE_DIR)
def s():
res=test.text(3,4)
return res
if __name__ =="__main__":
t=s()
print(t)
下面是内置函数__file__的相对路径
#动态导入模块
#__import__()方法导入模块
module=__import__('Lib.text') #填的是字符串
print(module) #<module 'Lib' (namespace)>只会将最顶层的赋值给module
t=module.text.cal_(1,4)
print(t) # 5
import importlib
m=importlib.import_module('Lib.text')
print(m)
#<module 'Lib.text' from 'D:\Python Proiect\lujiacheng\Lib\text.py'>
print(m.cal_(21,1)) # 22