Loading

Python 1-3区分Python文件的两种用途和模块的搜索路径

区分Python文件的两种用途

run.py文件:

import m1

 

m1.py文件:

def f1():

    print('f1')

def f2():

    print('f2')

#当文件被执行时__name__=='__main__'

#当文件被导入时__name__=='模块名'

# print(__name__)

 

# if __name__ == '__main__':

#     f1()

#     f2()

 

 

模块的搜索路径

1.模块搜索路径的优先级

1.1 内存中已经加载过的

1.2 内置模块

1.3 sys.path   (第一个值是当前执行文件所在的文件夹)

 

方案一:

修改环境变量找到导入模块

import sys

sys.path.append(r'D:\脱产三期视频\day16\03 模块的搜索路径1\dir1')

 

方案二:

from dir1.dir2 import m2

m2.f2()

 

 

绝对导入:  以执行文件的sys.path为起始点开始导入,称之为绝对导入

       优点:  执行文件与被导入的模块中都可以使用

       缺点:  所有导入都是以sys.path为起始点,导入麻烦

       (注意:执行文件只能用绝对导入)

 

相对导入:  参照当前所在文件的文件夹为起始开始查找,称之为相对导入

       符号:  .代表当前所在文件的文件,加..代表上一级文件夹,加...代表上一级的上一级文件夹

       优点:  导入更加简单

       缺点:  只能在导入包中的模块时才能使用,不能在执行文件中用

 

 动态调用当前文件夹路径:

  import sys

  import os

  变量名 = os.path.dirname(__file__)

  sys.path.append(r'变量名'')

 

posted @ 2018-08-08 15:56  it227  阅读(224)  评论(0编辑  收藏  举报