zoukankan      html  css  js  c++  java
  • 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:脱产三期视频day163 模块的搜索路径1dir1')

    方案二:

    from dir1.dir2 import m2

    m2.f2()

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

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

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

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

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

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

           优点:  导入更加简单

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

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

      import sys

      import os

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

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

  • 相关阅读:
    sql server 扩展存储过程
    SQL SERVER 数据导出JSON
    Jquery AJAX ASP.NET IIS 跨域 超简单解决办法
    切换 NPM 镜像源
    HTML 简介
    mongoose 安装及配置
    Windows下MongoDB的安装过程及基本配置
    Node.js中npm常用命令大全
    --nodejs详细安装步骤
    Go语言为何说它优雅?-- Golang中的几个常用初始化设计
  • 原文地址:https://www.cnblogs.com/earon/p/9443344.html
Copyright © 2011-2022 走看看