草庐IT

ruamel.yaml

全部标签

python - 在 PyYAML 中保存/转储带有注释的 YAML 文件

我有一个如下所示的yaml文件:#Thefollowingkeyopensadoorkey:value有没有办法在维护评论的同时load和dump这些数据? 最佳答案 如果您使用的是block结构的YAML,您可以使用python包¹ruamel.yaml它是PyYAML的衍生物,支持评论的往返保存:importsysimportruamel.yamlyaml_str="""\#examplename:#detailsfamily:Smith#verycommongiven:Alice#oneofthesiblings"""yaml

python - 如何将 YAML 文件解析/读取到 Python 对象中?

如何将YAML文件解析/读取到Python对象中?例如,这个YAML:Person:name:XYZ到这个Python类:classPerson(yaml.YAMLObject):yaml_tag='Person'def__init__(self,name):self.name=name顺便说一句,我正在使用PyYAML。 最佳答案 如果您的YAML文件如下所示:#treeformattreeroot:branch1:name:Node1branch1-1:name:Node1-1branch2:name:Node2branch2-

python - 在 Python 中,如何将 YAML 映射加载为 OrderedDicts?

我想获得PyYAML的加载器将映射(和有序映射)加载到Python2.7+OrderedDict类型,而不是普通的dict和它当前使用的对列表。最好的方法是什么? 最佳答案 Python>=3.6在python3.6+中,似乎默认情况下保留了dictloading顺序,没有特殊的字典类型。另一方面,默认的Dumper按键对字典进行排序。从pyyaml5.1开始,您可以通过传递sort_keys=False来关闭它:a=dict(zip("unsorted","unsorted"))s=yaml.safe_dump(a,sort_ke

java - yaml vs xml 用于对象图反序列化的优缺点是什么?

用例是文本格式的复杂对象图的长期序列化。 最佳答案 简答如果您希望人工创建/读取文档(配置文件、报告等),那么您可以考虑使用YAML,否则选择XML(用于机器对机器的通信)。长答案长度XML和YAML大致相同。好的XML库可以跳过所有空格,而对于YAML,它是必需的。一个复杂的YAML包含很多缩进空格(不要使用制表符!)网络故障YAML文档的一部分通常是有效文档,因此如果YAML文档不完整,则无法自动检测它。XML解析器将始终检查文档是否至少是格式正确的,并且可以自动检查架构的有效性。语言支持许多主要的编程语言都支持YAML和XML

java - 解析 YAML 文件

这是我第一次使用YAML文件,所以我首先想到的是找到任何可以帮助我解析文件的库。我找到了两个库,YamlBean和SnakeYAML。我不确定我要使用哪一个。这是我尝试解析的文件示例:users:user1:groups:-Premiumuser2:groups:-Moduser3:groups:-defaultgroups:Mod:permissions:test:trueinheritance:-Premiumdefault:permissions:test.test:trueinheritance:-ModAdmin:permissions:test.test.test:true

spring - 如何从现有的 Spring REST API 生成 OpenAPI 3.0 YAML 文件?

我想要为其生成OpenAPI3.0YAML文件而不是Swagger2.0JSON/YAML的现有SpringRESTAPI?从现在开始,SpringFox不支持YAML生成。它使用Swagger2.0(遵循OPENAPI3.0规范)生成JSON。还有https://github.com/openapi-tools/swagger-maven-plugin但它似乎不支持SpringRest。我尝试了能够生成YAML文件但具有Swagger2.0定义而不是OPENAPI3.0之类的Kongchenspring-maven-plugin:swagger:"2.0"info:descripti

Spring 启动 : read list from yaml using @Value or @ConfigurationProperties

我想从yaml文件(application.yml)中读取主机列表,该文件如下所示:cors:hosts:allow:-http://foo1/-http://foo2/-http://foo3/(示例1)我使用的类定义了这样的值:@Value("${cors.hosts.allow}")ListallowedHosts;但由于Spring提示,读取失败:java.lang.IllegalArgumentException:Couldnotresolveplaceholder'cors.hosts.allow'instringvalue"${cors.hosts.allow}"当我像这

java - Spring 启动 : Load @Value from YAML file

我需要从.yml文件中加载一个属性,该文件包含应用程序可以从中读取文件的文件夹的路径。我正在使用以下代码注入(inject)属性:@Value("${files.upload.baseDir}")privateStringpathToFileFolder;用于开发的.yml文件位于src/main/resources/config/application.yml下,我在生产中使用以下命令运行应用程序,以覆盖开发设置:java-jarapp.jar--spring.config.location=/path/to/application-production.ymlSpringBoot文

java - 将 Yaml 中的列表映射到 Spring Boot 中的对象列表

在我的SpringBoot应用程序中,我有application.yaml配置文件,其中包含以下内容。我想将其作为带有channel配置列表的配置对象注入(inject):available-payment-channels-list:xyz:"123"channelConfigurations:-name:"CompanyX"companyBankAccount:"1000200030004000"-name:"CompanyY"companyBankAccount:"1000200030004000"我想用PaymentConfiguration对象列表填充@Configurati

使用 YAML 的 Spring @PropertySource

SpringBoot允许我们用YAML等效文件替换我们的application.properties文件。但是,我的测试似乎遇到了障碍。如果我注释我的TestConfiguration(一个简单的Java配置),它需要一个属性文件。例如,这不起作用:@PropertySource(value="classpath:application-test.yml")如果我的YAML文件中有这个:db:url:jdbc:oracle:thin:@pathToMyDbusername:someUserpassword:fakePassword我将通过以下方式利用这些值(value)观:@Value