Программы на Python
Гость
Дамп ruamel.yaml: как предотвратить перемещение скалярных значений карты на новую строку с отступом?
Сообщение
Гость » 26 мар 2024, 08:52
Сложно описать кратко, поэтому я покажу.
Код: Выделить всё
from sys import stdout
from ruamel.yaml import YAML
yml = YAML()
doc = """
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
storageConfig:
local:
path: ./operator-images
mirror:
operators:
- catalog: registry.redhat.io/redhat/redhat-operator-index:v4.14
packages:
- name: rhods-operator
channels:
- name: fast
minVersion: 2.7.0
maxVersion: 2.7.0
- name: nfd
channels:
- name: stable
additionalImages:
- name: quay.io/integreatly/prometheus-blackbox-exporter@sha256:35b9d2c1002201723b7f7a9f54e9406b2ec4b5b0f73d114f47c70e15956103b5
- name: quay.io/modh/codeserver@sha256:7b53d6c49b0e18d8907392c19b23ddcdcd4dbf730853ccdf153358ca81b2c523
- name: quay.io/modh/cuda-notebooks@sha256:00c53599f5085beedd0debb062652a1856b19921ccf59bd76134471d24c3fa7d
- name: quay.io/modh/cuda-notebooks@sha256:4275eefdab2d5e32a7be26f747d1cdb58e82fb0cd57dda939a9a24e084bd1f7e
- name: quay.io/modh/cuda-notebooks@sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265
- name: quay.io/modh/cuda-notebooks@sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8
"""
y = yml.load(doc)
yml.dump(y, stdout)
Что печатает:
Код: Выделить всё
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
storageConfig:
local:
path: ./operator-images
mirror:
operators:
- catalog: registry.redhat.io/redhat/redhat-operator-index:v4.14
packages:
- name: rhods-operator
channels:
- name: fast
minVersion: 2.7.0
maxVersion: 2.7.0
- name: nfd
channels:
- name: stable
additionalImages:
- name:
quay.io/integreatly/prometheus-blackbox-exporter@sha256:35b9d2c1002201723b7f7a9f54e9406b2ec4b5b0f73d114f47c70e15956103b5
- name:
quay.io/modh/codeserver@sha256:7b53d6c49b0e18d8907392c19b23ddcdcd4dbf730853ccdf153358ca81b2c523
- name:
quay.io/modh/cuda-notebooks@sha256:00c53599f5085beedd0debb062652a1856b19921ccf59bd76134471d24c3fa7d
- name:
quay.io/modh/cuda-notebooks@sha256:4275eefdab2d5e32a7be26f747d1cdb58e82fb0cd57dda939a9a24e084bd1f7e
- name:
quay.io/modh/cuda-notebooks@sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265
- name:
quay.io/modh/cuda-notebooks@sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8
Почему имя: xxx в списке Mirror.additionalImages разделяется на две строки при дампе? Это основано на длине значения ключа или чем-то еще? Как я могу остановить это? (В файле с сотнями таких файлов это действительно становится смешно.) Я экспериментировал с различными настройками экземпляров YAML(), но безрезультатно. (Например, indent(), Compact() и default_flow_style.)
Подробнее здесь:
https://stackoverflow.com/questions/782 ... new-indent
1711432327
Гость
Сложно описать кратко, поэтому я покажу. [code]from sys import stdout from ruamel.yaml import YAML yml = YAML() doc = """ kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 storageConfig: local: path: ./operator-images mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.14 packages: - name: rhods-operator channels: - name: fast minVersion: 2.7.0 maxVersion: 2.7.0 - name: nfd channels: - name: stable additionalImages: - name: quay.io/integreatly/prometheus-blackbox-exporter@sha256:35b9d2c1002201723b7f7a9f54e9406b2ec4b5b0f73d114f47c70e15956103b5 - name: quay.io/modh/codeserver@sha256:7b53d6c49b0e18d8907392c19b23ddcdcd4dbf730853ccdf153358ca81b2c523 - name: quay.io/modh/cuda-notebooks@sha256:00c53599f5085beedd0debb062652a1856b19921ccf59bd76134471d24c3fa7d - name: quay.io/modh/cuda-notebooks@sha256:4275eefdab2d5e32a7be26f747d1cdb58e82fb0cd57dda939a9a24e084bd1f7e - name: quay.io/modh/cuda-notebooks@sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265 - name: quay.io/modh/cuda-notebooks@sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8 """ y = yml.load(doc) yml.dump(y, stdout) [/code] Что печатает: [code]kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 storageConfig: local: path: ./operator-images mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.14 packages: - name: rhods-operator channels: - name: fast minVersion: 2.7.0 maxVersion: 2.7.0 - name: nfd channels: - name: stable additionalImages: - name: quay.io/integreatly/prometheus-blackbox-exporter@sha256:35b9d2c1002201723b7f7a9f54e9406b2ec4b5b0f73d114f47c70e15956103b5 - name: quay.io/modh/codeserver@sha256:7b53d6c49b0e18d8907392c19b23ddcdcd4dbf730853ccdf153358ca81b2c523 - name: quay.io/modh/cuda-notebooks@sha256:00c53599f5085beedd0debb062652a1856b19921ccf59bd76134471d24c3fa7d - name: quay.io/modh/cuda-notebooks@sha256:4275eefdab2d5e32a7be26f747d1cdb58e82fb0cd57dda939a9a24e084bd1f7e - name: quay.io/modh/cuda-notebooks@sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265 - name: quay.io/modh/cuda-notebooks@sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8 [/code] Почему имя: xxx в списке Mirror.additionalImages разделяется на две строки при дампе? Это основано на длине значения ключа или чем-то еще? Как я могу остановить это? (В файле с сотнями таких файлов это действительно становится смешно.) Я экспериментировал с различными настройками экземпляров YAML(), но безрезультатно. (Например, indent(), Compact() и default_flow_style.) Подробнее здесь: [url]https://stackoverflow.com/questions/78223150/ruamel-yaml-dump-how-to-stop-map-scalar-values-from-being-moved-to-a-new-indent[/url]
0 Ответы
29 Просмотры
Последнее сообщение Anonymous
25 июн 2024, 09:54
0 Ответы
20 Просмотры
Последнее сообщение Anonymous
03 окт 2024, 08:43
0 Ответы
13 Просмотры
Последнее сообщение Anonymous
10 фев 2025, 18:42
0 Ответы
10 Просмотры
Последнее сообщение Anonymous
10 фев 2025, 19:40
0 Ответы
36 Просмотры
Последнее сообщение Anonymous
10 апр 2024, 10:33