【发布时间】:2017-05-15 17:54:55
【问题描述】:
我有三个模块 a.py、b.py 和 c.py。 a.py 模块是基础模块。我想要实现的是在 b.py 导入 a.py 和 c.py 导入 a.py 时具有不同的行为。例如:
a.py
def ab():
return 5
def ac():
return 6
if __nameoftheimportmodule__ == 'b':
x = ab()
elif __nameoftheimportmodule == 'c':
x = ac()
else:
pass
因此,像这样调用 b.py:
b.py
import a
print(a.x)
将返回 5(对于 c.py,它将返回 6)。
我的问题是这样的设计是否可能(例如,是否存在这样一个行为类似于上述导入模块名称的函数)?
【问题讨论】: