- 主题:Python这么注重排版的语言为什么不带YAML库
只用dict和list都有可能踩到坑
链接发不出来,水木现在这么严么..
可以google the-yaml-document-from-hell
【 在 JulyClyde 的大作中提到: 】
: 哦,这样啊
: 我不懂……
: 我这里现在只用dict和list而已
: ...................
--
修改:adamhj FROM 202.109.128.*
FROM 202.109.128.*
【 在 adamhj 的大作中提到: 】
: 只用dict和list都有可能踩到坑
: 链接发不出来,水木现在这么严么..
: 可以google the-yaml-document-from-hell
这么惨啊?
--
FROM 139.227.18.*
这篇 2023年的怎么没提 json5, 我觉得 json5 基本上已经完美了, 有注释,key可省引号,尾逗号,
【 在 adamhj 的大作中提到: 】
只用dict和list都有可能踩到坑
链接发不出来,水木现在这么严么..
可以google the-yaml-document-from-hell
【 在 JulyClyde 的大作中提到: 】
: 哦,这样啊
: 我不懂……
: 我这里现在只用dict和list而已
: ...................
--
修改:ABCDEFGHJKLM FROM 103.216.43.*
FROM 103.216.43.*
【 在 adamhj 的大作中提到: 】
: 只用dict和list都有可能踩到坑
: 链接发不出来,水木现在这么严么..
: 可以google the-yaml-document-from-hell
看了这篇文章的第一条反向例子,就是port_mapping那个,吓得我赶紧把程序都改回json
了
另外,json的key都是字符串;恰好我之前的yaml的key是int,所以除了加载存盘,在操
作数据的时候还额外加了整型到字符串的转换
--
FROM 139.227.18.*
世界上没有任何一个库能通告yaml1.2 测试用例
这个东西太糟糕了
第一糟糕的就是yaml
第二糟糕的是 xml
【 在 JulyClyde 的大作中提到: 】
: 却带了json库??
--
FROM 183.220.1.*
xml简直看起来就要吐。。。
【 在 superlq 的大作中提到: 】
: 世界上没有任何一个库能通告yaml1.2 测试用例
: 这个东西太糟糕了
: 第一糟糕的就是yaml
: ...................
--
FROM 113.225.2.*
你用个新点的yaml库(ruamel),应该不会出现这个问题。
还有为什么要在yaml和json之间转换?这不是自找坑跳吗?
【 在 JulyClyde 的大作中提到: 】
: 看了这篇文章的第一条反向例子,就是port_mapping那个,吓得我赶紧把程序都改回json
: 了
: 另外,json的key都是字符串;恰好我之前的yaml的key是int,所以除了加载存盘,在操
: ...................
--
FROM 114.241.4.*
【 在 seablue 的大作中提到: 】
: 你用个新点的yaml库(ruamel),应该不会出现这个问题。
: 还有为什么要在yaml和json之间转换?这不是自找坑跳吗?
刚开始我觉得yaml比较方便手工编辑,因为我当时快速写程序,只写了添加功能,没写需
求较少的编辑和删除功能,偶尔遇到就手工编辑
后来不忙,写了更新数据的功能;算是减少了手工编辑的需求了
看了上面提到的yaml documents from hell之后我就改json了
--
FROM 139.227.18.*
那些hell都是因转换成其它格式带来的。
其实“转换”相当于一个小型的编译过程(一种语言翻译成另一种语言),容易出问题是很正常的,毕竟一个编译器不是那么好写的。yaml和json这种转换出了问题,只能是转换器的事。而显然,写转换器的人并没有用心。
C++这么复杂的语言翻译成汇编都能搞出来,yaml翻译成json出问题完全应该怪写者的投入不够,而不能怪yaml有hell.
用户用同一个yaml library去load和dump yaml file,根本遇不到这些问题。
如果你没有yaml和json互相转换需求的话,无论用yaml还是json,都不会有问题。
【 在 JulyClyde 的大作中提到: 】
: 刚开始我觉得yaml比较方便手工编辑,因为我当时快速写程序,只写了添加功能,没写需
: 求较少的编辑和删除功能,偶尔遇到就手工编辑
: 后来不忙,写了更新数据的功能;算是减少了手工编辑的需求了
: 看了上面提到的yaml documents from hell之后我就改json了
--
修改:seablue FROM 114.241.4.*
FROM 114.241.4.*