TCL将数据写入YAML文件

TCL将数据写入YAML文件,tcl,Tcl,我有一个tcl脚本,它正在捕获一些数据。我想将此数据写入YAML文件。关于如何在TCL中实现这一点,我可以阅读一些例子或地方吗 标准Tcl库(tcllib)中有一个yaml包。如果该软件包不能满足您的需要,您可以查看创意的来源。Tcllib中的软件包可以满足您的需要 如果您的数据是一个简单的单级字典,您只需执行以下操作: package require yaml set yamlText [yaml::dict2yaml $yourDictionary] 例如: % set d {foo 1

我有一个tcl脚本,它正在捕获一些数据。我想将此数据写入YAML文件。关于如何在TCL中实现这一点,我可以阅读一些例子或地方吗

标准Tcl库(tcllib)中有一个yaml包。如果该软件包不能满足您的需要,您可以查看创意的来源。

Tcllib中的软件包可以满足您的需要

如果您的数据是一个简单的单级字典,您只需执行以下操作:

package require yaml

set yamlText [yaml::dict2yaml $yourDictionary]
例如:

% set d {foo 123 bar "this is a piece of text"}
foo 123 bar "this is a piece of text"
% yaml::dict2yaml $d
---
foo: 123
bar: this is a piece of text

% 
主要的问题是,它假设每个键中的所有内容都是一个字符串(尽管数字通常足够短,所以也可以)

因此,如果您的数据更复杂,则需要使用第一种方法构建一个对它的拥挤描述。它嵌入了生成复杂结构所需的额外类型信息

package require huddle
package require yaml

set inner [huddle create boo "this is some text" grill "this is some other text"]
set outer [huddle create foo 123 bar $inner]
yaml::huddle2yaml $outer

感谢我查看了其中的大部分内容,它们似乎更侧重于从YAML文件中读取数据,而我正试图将数据写入YAML文件。@bytes1234您应该再次查看。这个包(或者至少是我能看到的版本)提供了这两种功能。