python 列表列表的用户可读文件格式
User-readable file format for python list of lists
我正在考虑为我的 Python 应用程序使用用户可读的文件格式。现在我正在使用 pickle
以二进制形式存储我的数据。
我不确定 XML 或 JSON 是否可行,但基本上我的文件包含如下所示的列表列表:
[1, 'the name of the set', [[1, 'data1', 'data2'],[2,'data3','data4']]
包含字符串的其他列表的列表可以有多个项目(甚至数百个)。
基本上,我想要一些具有简单接口的东西来转换它 to/from python 列表,我需要那些整数保持整数。
我会在这里专门使用 YAML PyYAML; IHMO 它更适合人类阅读!
示例:(手动)
foo:
- 1
- 2
- 3
上面的例子排除了嵌套
使用:yaml.dump()
和朋友
演示:
>>> import yaml
>>> data = {"foo": [[1, 2, 3], [4, 5, 6]]}
>>> print yaml.dump(data)
foo:
- [1, 2, 3]
- [4, 5, 6]
NB: As JSON is a subset of YAML 两者都不会保留复杂类型;仅支持基本类型; int
、float
、list
、dict
和 str
.
这已经是字面意思 JSON。 JSON 可能是目前最流行的格式,其易读性无可争议。
In [105]: my_list = [1, 'the name of the set', [[1, 'data1', 'data2'],[2,'data3','data4']]]
In [106]: my_list == json.loads(json.dumps(my_list))
Out[106]: True
我正在考虑为我的 Python 应用程序使用用户可读的文件格式。现在我正在使用 pickle
以二进制形式存储我的数据。
我不确定 XML 或 JSON 是否可行,但基本上我的文件包含如下所示的列表列表:
[1, 'the name of the set', [[1, 'data1', 'data2'],[2,'data3','data4']]
包含字符串的其他列表的列表可以有多个项目(甚至数百个)。 基本上,我想要一些具有简单接口的东西来转换它 to/from python 列表,我需要那些整数保持整数。
我会在这里专门使用 YAML PyYAML; IHMO 它更适合人类阅读!
示例:(手动)
foo:
- 1
- 2
- 3
上面的例子排除了嵌套
使用:yaml.dump()
和朋友
演示:
>>> import yaml
>>> data = {"foo": [[1, 2, 3], [4, 5, 6]]}
>>> print yaml.dump(data)
foo:
- [1, 2, 3]
- [4, 5, 6]
NB: As JSON is a subset of YAML 两者都不会保留复杂类型;仅支持基本类型; int
、float
、list
、dict
和 str
.
这已经是字面意思 JSON。 JSON 可能是目前最流行的格式,其易读性无可争议。
In [105]: my_list = [1, 'the name of the set', [[1, 'data1', 'data2'],[2,'data3','data4']]]
In [106]: my_list == json.loads(json.dumps(my_list))
Out[106]: True