我有一个luigi配置文件:
for (i in 0:10) {
if (i < 3)
print(i)
} else if (i >= 3) {
Error: unexpected 'else' in:
" print(i)
} else"
> print((i-1)+2(i-2))
Error in print((i - 1) + 2(i - 2)) : attempt to apply non-function
> }
Error: unexpected '}' in " }"
> }
Error: unexpected '}' in "}"
但是当我通过配置路径运行luigi任务时,我看到[Common]
dir: /some/path
[MyTask]
task_parameter: ${Common:dir}/other/folders/
== task_parameter
,而不是"${Common:dir}/other/folders/"
我做错什么了吗?这样可以使用LuigiConfigParser吗?
我使用python2.7和luigi == 2.7.1。
答案 0 :(得分:0)
否,您不能进行扩展插值。插值是Shell特有的,配置是在Python领域内部解析的。另外,请记住,所有参数都必须可序列化,因此Luigi / Python为此必须跳过一些非常怪异的步骤。
但是,很容易扩展到您需要的内容。您可以做的是代替指定task_parameter
,而可以指定诸如task_parameter_query
,并在解决参数目的时使用字符串作为查询的基础。看来您只是想在此处获取环境变量,因此您可以只使用task_parameter
作为字符串模板,然后通过调用os.getenv
来填充值。