从 YAML 文件加载 shell 颜色代码
Load shell color codes from YAML file
如何使用 ruamel yaml 从 yaml 文件加载我的 shell 的颜色代码?##
我可以通过 python 使用一些非常简单的指令来更改 shell 中的颜色:
R = "3[0;31;40m"
print(R+"TEST")
这将以红色输出“TEST”。 (为简单起见,我没有重新设置样式)
我有以下 YAML 文件:
colors:
red : 3[0;31;40m
我尝试实现从 YAML 文件加载颜色代码的相同目的,但它确实输出 3[0;31;40mTEST
。这是我的代码。 (我试过不同的加载类型、引号、转义它,但我似乎无法让它工作。我知道这是出于安全原因而发生的。)
import ruamel.yaml
path_to_config = "config/config.yml"
yaml = ruamel.yaml.YAML(typ="safe")
with open(path_to_inventory) as fpi:
config = yaml.load(fpi)
print(config["colors"]["red"]+"TEST")
只有在双引号之间的反斜杠在 YAML 中才有特殊含义。要知道您的 YAML 应该是什么样子,最好转储您想要的结果:
yaml.dump("3[0;31;40m", sys.stdout)
给出:
"\e[0;31;40m"
因此:
colors:
red : "\e[0;31;40m"
你应该没事的。
YAML 文件的推荐扩展名自 2007 年以来一直是 .yaml
。
如何使用 ruamel yaml 从 yaml 文件加载我的 shell 的颜色代码?##
我可以通过 python 使用一些非常简单的指令来更改 shell 中的颜色:
R = "3[0;31;40m"
print(R+"TEST")
这将以红色输出“TEST”。 (为简单起见,我没有重新设置样式)
我有以下 YAML 文件:
colors:
red : 3[0;31;40m
我尝试实现从 YAML 文件加载颜色代码的相同目的,但它确实输出 3[0;31;40mTEST
。这是我的代码。 (我试过不同的加载类型、引号、转义它,但我似乎无法让它工作。我知道这是出于安全原因而发生的。)
import ruamel.yaml
path_to_config = "config/config.yml"
yaml = ruamel.yaml.YAML(typ="safe")
with open(path_to_inventory) as fpi:
config = yaml.load(fpi)
print(config["colors"]["red"]+"TEST")
只有在双引号之间的反斜杠在 YAML 中才有特殊含义。要知道您的 YAML 应该是什么样子,最好转储您想要的结果:
yaml.dump("3[0;31;40m", sys.stdout)
给出:
"\e[0;31;40m"
因此:
colors:
red : "\e[0;31;40m"
你应该没事的。
YAML 文件的推荐扩展名自 2007 年以来一直是 .yaml
。