代码之家  ›  专栏  ›  技术社区  ›  Alex Baban

如何从配置文件(文本)中读取值?

  •  1
  • Alex Baban  · 技术社区  · 6 年前

    我需要从名为 .env 并将它们分配给变量,以便稍后在程序中使用它们。

    这个 Env 文件包含名称/值对,如下所示:

    ENVIRONMENT_VARIABLE_ONE = AC9157847d72b1aa5370fdef36786863d9
    ENVIRONMENT_VARIABLE_TWO = 73cad721b8cad6718d469acc42ffdb1f
    ENVIRONMENT_VARIABLE_THREE = +13335557777
    

    到目前为止我试过的

    read-values.red

    Red [
    
    ]
    
    contents: read/lines %.env
    
    env-one: first contents
    env-two: second contents
    env-three: third contents
    
    print env-one ; ENVIRONMENT_VARIABLE_ONE = AC9157847d72b1aa5370fdef36786863d9
    print env-two ; ENVIRONMENT_VARIABLE_ONE = 73cad721b8cad6718d469acc42ffdb1f
    print env-three ; ENVIRONMENT_VARIABLE_ONE = +13335557777
    

    我在找什么

    print env-one ; AC9157847d72b1aa5370fdef36786863d9
    print env-two ; 73cad721b8cad6718d469acc42ffdb1f
    print env-three ; +13335557777
    

    如何继续或更改代码并解析这些字符串,如 env- 变量将只包含值?

    2 回复  |  直到 6 年前
        1
  •  3
  •   giuliolunati    6 年前

    env-one: skip find first contents " = " 3

    有关查找和跳过,请参阅帮助

        2
  •  3
  •   endo64    6 年前

    另一个解决方案使用 parse 可以是: foreach [word value] parse read %.env [collect some [keep to "=" skip keep to newline skip]] [set load word trim value]

    这个将把单词添加到全局上下文中 ENVIRONMENT_VARIABLE_ONE AC9157847d72b1aa5370fdef36786863d9 等等。