从不同目录访问模块

时间:2012-11-06 09:26:44

标签: python

我有以下文件结构

python/
    A/
        a.py
        b.py
    B/
        c.py

因此文件夹python下有两个文件夹A和B,我想从a.py和b.py导入模块 - 在c.py(B文件夹)中导入它们

我用__init__.py写了__all__=['modulename']并将其放在文件夹B中。现在在c.py我使用import语句导入模块。然而,这似乎不起作用。关于如何在上述情况下实现模块导入的任何想法?

3 个答案:

答案 0 :(得分:2)

  1. 在您的环境中将python的完整路径添加到PYTHONPATH
  2. __init__.py
  3. 中添加 A文件

    然后在c.py

    from A.a import something
    from A.b import something
    
    # or
    
    import A
    A.a.something
    A.b.something
    

答案 1 :(得分:1)

在文件夹A中添加 __init__.py文件,然后按照您通常的方式导入模块:

from A import a

from A.a import *

答案 2 :(得分:0)

如果您从'B'文件夹运行python c.py,那么您应该将__init__.py添加到'B'目录并在'python'文件夹中使用python -m B.c并执行您的导入{ {1}}或其他什么。