python同级文件夹导包

作者: ciantian | 来源:发表于2017-12-27 14:42 被阅读36次

    python同级文件夹导包

    在项目文件夹中新建__init__.py文件 (若使用pytcharm新建python package会自带__init__.py)
    父亲节点中的python文件可调用子文件夹中的节点,如下图中f3可调用f2和f1,而兄弟节点文件夹中的文件不能相互调用f2和f1则不能相互调用.

    ├── a
    │   ├── f1.py
    │   ├── __init__.py
    ├── b
    │   ├── f2.py
    │   ├── __init__.py
    ├── f3.py
    └── __init__.py
    
    

    若在f2和f1最前面添加

    import sys
    import os
    currentUrl = os.path.dirname(__file__)
    parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
    # print(parentUrl)
    sys.path.append(parentUrl)
    

    在f1中使用from b.f2 import *即可调用.
    f1

    import sys
    import os
    currentUrl = os.path.dirname(__file__)
    parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
    sys.path.append(parentUrl)
    from b.f2 import *
    def main():
        print('f1')
    if __name__ == '__main__':
        main()
    
    

    f2

    import sys
    import os
    currentUrl = os.path.dirname(__file__)
    parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
    sys.path.append(parentUrl)
    def main():
        print('f2')
    if __name__ == '__main__':
        main()
    
    

    f3

    from a.f1 import *
    from b.f2 import *
    print('ceshi')
    

    参考记录

    相关文章

      网友评论

        本文标题:python同级文件夹导包

        本文链接:https://www.haomeiwen.com/subject/oejugxtx.html