class Settings:
WORKSPACE = env.get("BK_WKPS")
def localize_path(*args):
if WORKSPACE["path"]:
path = join_path(WORKSPACE["path"], *args)
return path
else:
return None
log_location = localize_path("logs")
print(Settings.log_location)
文件settings.py”,
第27行,在localize_path中
如果WORKSPACE [“ path”]:
NameError:名称“ WORKSPACE”未定义
答案 0 :(得分:1)
您的log_location
成员在定义类之前已初始化,因此我认为您应该将WORKSPACE
作为参数传递:
class Settings:
WORKSPACE = env.get("BK_WKPS")
def localize_path(WS, *args):
if WS["path"]:
path = join_path(WS["path"], *args)
return path
else:
return None
log_location = localize_path(WORKSPACE, "logs")
print(Settings.log_location)
更新:
使用这种方法,我确定这是一种不好的形式,因为您留下了一个带有其他程序员认为可以调用的方法的类。