zoukankan      html  css  js  c++  java
  • Python-模块的搜索路径

    模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径(导模块的环境变量)中包含的模块(如:time.py文件)

    内置模块:

    import time,sys
    print(sys)
    
    <module 'sys' (built-in)>

    创建一个time.py

    print('from time')

    然后

    import time
    time.sleep(3)

    得到的结果是:执行的是内置time函数的功能。

    # 查看执行文件的环境变量
    import
    sys print(sys.path) ['/Users/gxqlcx/PycharmProjects/youngboy/week05', '/Users/gxqlcx/PycharmProjects/youngboy', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']

    首先是执行文件的当前目录;以下面为主,其实没有上一级youngboy目录,pycharm的问题,所以建议用cmd看。

    clouddeMacBook-Pro:~ gxqlcx$ python3 /Users/gxqlcx/PycharmProjects/youngboy/week05/6模块的搜索路径.py
    ['/Users/gxqlcx/PycharmProjects/youngboy/week05', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
    clouddeMacBook-Pro:~ gxqlcx$ 

    按照这个路径依次找下去,越靠前越优先。这里的.zip可以看成和文件夹一样的目录;

    只要模块文件放在上面任意路径,都可以import加载到内存中,使用它。

    如果imprt a文件夹下的m.py呢?

    将a的目录加载到syspath中:

    import sys
    sys.path.append(r'C:UsersAdministratorPycharmProjectspython19期day5a')
    
    再执行,就可以调用m.py内部的代码。

    也可以insert,放置在最前,优先加载。

    还有一个更简单的方法:

    from a import m
    
    a可以找到,因为它和执行文件在同一目录下,顺着a就可以找到里面的m.py

     附图:

    作者:大雄猫
    出处:http://www.cnblogs.com/guoxiangqian/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面 明显位M给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    CentOS挂载ntfs
    搬水果
    CentOS安装完显卡启动进不去系统
    二叉树遍历
    拓展的异常类
    Visual Studio 2008 IDE 出现 “帮助更新正在进行”错误的解决办法
    JSON工具SuperObject编译时"整数溢出"异常的解决办法
    引用命名区域
    ruby操作excel的几段代码
    Delphi2009&2007中,测试工程的初级使用(DUnit)
  • 原文地址:https://www.cnblogs.com/guoxiangqian/p/7696337.html
Copyright © 2011-2022 走看看