Python全栈开发——模块导入

#模块

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 Proiect\lujiacheng\Include")      #暂时添加运行路径(写死)
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

 

posted @ 2018-09-21 00:31  lujiacheng-python  阅读(204)  评论(0编辑  收藏  举报