【问题标题】:Luigi: Is there a way to use Extended Interpolation like in configparser?Luigi:有没有办法像在 configparser 中一样使用扩展插值?
【发布时间】:2020-02-18 15:23:20
【问题描述】:

我有一个 luigi 配置文件:

[Common]
dir: /some/path

[MyTask]
task_parameter: ${Common:dir}/other/folders/

但是当我使用配置路径运行 luigi 任务时,我看到 task_parameter == "${Common:dir}/other/folders/",而不是 "/some/path/other/folders/"

我做错了吗?可以这样使用 LuigiConfigParser 吗?

我使用 python2.7 和 luigi==2.7.1。

【问题讨论】:

    标签: python-2.7 config luigi


    【解决方案1】:

    不,您不能进行扩展插值。插值是特定于 Shell 的,配置是在 Python 领域内解析的。另外,请记住所有参数都必须是可序列化的,因此 Luigi/Python 将不得不为此跳过一些非常奇怪的环节。

    但是,它很容易扩展到您需要的内容。您可以做的不是指定task_parameter,而是指定task_parameter_query,并在解析参数用途时使用字符串作为查询的基础。看起来您只是想在这里获取一个环境变量,所以您可以使用task_parameter 作为字符串模板,然后通过调用os.getenv 来填写值。

    【讨论】:

    • 另外,我建议不要使用 Python 2.*,因为它现在已被弃用且不受支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2011-03-16
    • 1970-01-01
    • 2021-08-25
    相关资源
    最近更新 更多