我有以下问题 - 我可以使用一个参数的值来定义另一个参数吗?这是我正在尝试做的一个例子。 假设我有一个如下所示的配置文件:
[MyTaskRunner]
logdir=/tmp/logs
numruns=2
我定义了这样的MyTaskRunner
:
class MyTaskRunner(luigi.Task):
logdir=luigi.Parameter(default=None)
rundate=luigi.Parameter(default=today)
其中logdir是从配置文件获取的参数,rundate是在运行时传入的参数。
现在,假设我希望像这样定义一个新变量logpath_str
logpath_str="{}/{}".format(logdir, rundate)
是否可以将其定义为参数?
解决方案是否指定默认值,如:
logpath=luigi.Parameter(default=logpath_str)
欢迎任何建议。
答案 0 :(得分:0)
在类初始化之前(在__init__
期间),参数值无法解析,因此实现所需行为的一种简单方法是实现__init__
yourslef并初始化{{1} },并在调用super之后使用默认值。
logpath