我有一个文件树:
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
访问顶级(全局)函数和变量} em>(上面的mod1.foo()
例子)?
答案 0 :(得分:0)
我找到了解决方案。
我不得不改变
import RPi
到
from RPi import *
init .py文件中的
和
mod1.foo()
到
getattr(mod1, foo)()
在program.py。