首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YAML兼容性问题

YAML兼容性问题
EN

Stack Overflow用户
提问于 2015-08-07 19:02:11
回答 1查看 181关注 0票数 0

对于我的项目,我使用OpenCV创建了10,000个YAML文件。然后我不得不在MATLAB中读取这10,000个文件,所以我使用了YAMLMATLAB。由OpenCV创建的文件在每个文件的开头放置了以下代码。

代码语言:javascript
复制
%YAML:1.0

不幸的是,YAMLMATLAB不理解%YAML:1.0。有人推荐我重建YAMLMATLAB,即SnakeYaml Java库。有没有其他方法可以让它工作。

EN

回答 1

Stack Overflow用户

发布于 2015-08-07 20:46:01

%引入了一个指令,如果要使其成为可识别的指令(只有两个指令:%TAG%YAML ),则%YAML directive应该后跟一个空格来结束名称。这实际上是一个unknown的指令,值为%YAML:1.1,没有任何参数。

MatLab (和例如PyYAML)拒绝加载这样的文件,正如YAML规范对ignore unknown directives所说的那样,这不是正确的行为。当然,OpenCV提供了一个不正确的指令也是不好的。

忽略不正确的指令是ruamel.yaml所做的(免责声明:我是该包的作者)。如果在往返模式下安装并运行其实用程序yaml

代码语言:javascript
复制
yaml rt --save *.yaml

表单中的文件:

代码语言:javascript
复制
%YAML:1.0
---
abc: def
klm: ghi

转换为:

代码语言:javascript
复制
abc: def
klm: ghi

它应该可以在MatLab中加载。

在运行命令之前,请确保对文件进行备份,因为--save会将文件保存在适当位置(即覆盖原始文件)。

如果您不想安装ruamel.yaml,当然也可以使用其他命令行工具删除前两行(指令和文档分隔符)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31876140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档