【发布时间】:2018-02-14 16:08:18
【问题描述】:
我有 2 个导入相同模块的应用程序文件:
#app1.py
import settings as s
another code
#app2.py
import settings as s
another code
我需要在模块中检查是否运行第一个或第二个应用程序:
#settings.py
#pseudocode
if running app1.py:
print ('app1')
elif:
print ('app2')
我检查了模块inspect,但不知道。
我也愿意接受所有更好的解决方案。
编辑:我觉得有点傻(我想这很容易)
我试试:
var = None
def foo(a):
var = a
print (var)
但仍然是None。
【问题讨论】:
-
为什么不在模块中添加一些标志或变量来确定是
app1还是app2调用它? -
Settings.py 对于两个应用程序几乎相同,只有一个变量不同,但这个变量对另外 20 个变量很重要。所以为了避免重复,我希望只有一个文件。
-
@FlashTek - 你能解释更多,最好的答案吗?
-
根据谁导入模块在模块中运行代码是代码异味...
-
@cᴏʟᴅsᴘᴇᴇᴅ - 设计应用程序对我来说是个未知数:(但如果解释更多,我会很有帮助。