ImportError: No Module Named

前端 未结 1 654
Happy的楠姐
Happy的楠姐 2021-02-19 11:55

I am trying to learn programming through Python, so I apologize in advance if this is an absurdly simple question.

I am attempting to simplify my convoluted directory

1条回答
  •  时光说笑
    2021-02-19 12:53

    You are initially executing draw_lib.py. So the 'root directory' is / throughout the program.

    Then, when you attempt 'from dir import draw_lib.py' in drawing.py it wont work because the root directory is still / and not dir/.

    import draw_lib
    

    Will work in drawing.py.

    Example:

    /
        __init__.py
        main.py
        test/
            __init___.py
            case.py
    

    In main.py, put this:

    import test.case
    
    print 'main.py'
    
    if __name__ == "__main__":
            test.case.test()
    

    In test/case.py, put this:

    import main
    
    def test():
            print 'case.py'
    

    My output:

    main.py
    main.py
    case.py
    

    As you can see, I imported main.py from a nested file. You'll see main.py two times. Once for the initial startup the second time when you import it in case.py.

    0 讨论(0)
提交回复
热议问题