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给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    基于腾讯开源的msec来进行php开发模块
    《每周一点canvas动画》——圆周运动
    Socket.io+Notification实现浏览器消息推送
    10行 JavaScript 实现文本编辑器
    zzuli2228: 神奇的排名
    HDU2044:一只小蜜蜂...
    zzuli2226:神奇的薯条
    HDU2028:Lowest Common Multiple Plus
    HDU2036:改革春风吹满地
    HDU2029:Palindromes _easy version
  • 原文地址:https://www.cnblogs.com/guoxiangqian/p/7696337.html
Copyright © 2011-2022 走看看