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

  • 相关阅读:
    oracle11g新建表空间和用户
    ORACLE查询数据中所存在的表,搜索指定的表
    QTP的那些事vbs通用操作数据库函数整理
    Oracle:PL/SQL 中如何使用Array
    QTP的那些事—QTP11+QC11框架整理源码(个人原创)
    QTP的那些事灵活运用其中的datatable对象
    QTP的那些事共享对象库的使用
    zoj 1092 Arbitrage (poj 2240)
    zoj 1655 Transport Goods
    UVA 11292 Dragon of Loowater
  • 原文地址:https://www.cnblogs.com/guoxiangqian/p/7696337.html
Copyright © 2020-2023  润新知