如何从父文件夹正确导入?

时间:2017-02-05 16:45:14

标签: python python-import python-module

我有一个文件树:

Root Folder
├───Modules
│   └───RPi
│       ├──__init__.py
│       └──RPi.py
└─program.py

RPi.py

def foo():
    print("bar")

__初始化__。PY

import RPi

program.py

mod1 = __import__("Modules.RPi.RPi")
mod1.foo()

调用mod1.foo()后,我会AttributeError: 'module' object has no attribute 'foo'

我使用__import__而不是import语句的原因是因为“Module”子目录和名称仅在运行时才知道。

考虑到这一点,如何在RPi.py中导入program.py,以便能够从program.py访问顶级(全局)函数和变量(上面的mod1.foo()例子)?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我不得不改变

import RPi

from RPi import *
init .py文件

中的

mod1.foo()

getattr(mod1, foo)()

在program.py。