Python中的Yaml文件没有使用正确的值加载

2024-05-08 22:52:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用yaml库加载python中的yaml文件(在kubernetes pod的容器中),yaml库有一个“commands”部分

以下是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\u file.yaml'是正在读取的yaml文件

Response yaml\u content是一个字典,其中commands部分显示如下:

  - command:
    - sh
    - -c
    - "addgroup 2000\nadduser -D -G 2000 2000 \nchown -R 2000:2000 /sh_pvc\nchmod\
      \ 760 /sh_pvc\n"

我想评论部分出现,因为它是在原来的文件。有什么建议吗

我在网上看到了很多答案,其中大部分都是关于阅读yaml文件的,而不是专门针对我的问题


Tags: 文件nametrueyamlshcontentkubernetes容器