我正在使用yaml库加载python中的yaml文件(位于kubernetes容器中的容器中),该库具有“命令”部分。
以下是yaml文件中的命令部分:
command:
- sh
- "-c"
- |
addgroup 2000
adduser -D -G 2000 2000
chown -R 2000:2000 /sh_pvc
chmod 760 /sh_pvc
下面是我用来读取yaml文件的代码(我正在扑向容器并读取文件):
yaml_content = yaml.safe_load(stream(KubeCtl.v1.connect_get_namespaced_pod_exec, name = pod_name, namespace = pod_namespace, command=['/bin/sh', '-c', 'cat test_file.yaml'], stderr=True, stdin=True, stdout=True, tty=True))
注意:KubeCtl.v1是kubernetes api服务器对象。 “ test_file.yaml”是正在读取的yaml文件
响应yaml_content是一个字典,其中的命令部分如下所示:
- command:
- sh
- -c
- "addgroup 2000\nadduser -D -G 2000 2000 \nchown -R 2000:2000 /sh_pvc\nchmod\
\ 760 /sh_pvc\n"
我希望注释部分显示在原始文件中。有什么建议吗?
我在网上查看了许多答案,其中大多数与阅读yaml文件有关,与我的问题没有明确联系
答案 0 :(得分:0)
这可能是关于如何输出yaml_content
的问题。您可以尝试以下方法:
print(yaml.dump(yaml_content, default_flow_style=False))
不会打印出块样式指示器|
。