2

我想存储这种配置,重复部分和每个部分中的键:

[item]
name = 'name1'
url = 'address1'
whatever_var = 'foo1'

[item]
name = 'name2'
url = 'address2'
whatever_var = 'foo2'

...

什么样的配置文件格式适合这种结构?:ConfigParser、ConfigObj、JSON、YAML、...?我从未使用过任何(Python 新手),想知道哪个最适合。

注意:到目前为止,我使用的是 Python 2.7。

[编辑]:嗯,我相信这不仅仅是一个重复的问题,因为我不仅需要重复的键,而且: - 重复的部分(里面有它们的唯一键,不能与其他部分的其他键一起使用)

另外,我不问如何在 ConfigParser 中执行此操作,但哪种文件类型更适合这种情况(XML、JSON、自定义文件……)。事实上,我认为我想要的东西无法通过 ConfigParser 或 ConfigObj 获得,我可能会尝试使用 XML,即使它的可读性差一些。而且,嘿,学习处理 XML 文件绝不是浪费时间。

4

1 回答 1

1

看起来您要将数据存储在文件中,而您却忽略了使用数据库和其他类型的与远程服务器的交互来保存这些东西的想法。很高兴你把它理顺了。

如果数据很小,许多文件类型将支持这种类型的数据。(如果它适合您的机器)。如果由于数十亿条记录而导致数据变得太大或访问时间太长,那么您就会遇到不同的问题。

有时问题的领域会影响要使用的文件类型。如果您正在制作网络服务器,那么您可能希望使用 JSON 或 XML 进行传输。

如果您想使用您在帖子中说明的格式,这里是如何读取文件。

import configparser

conf = configparser.ConfigParser()

conf.read('FILE.INI')

-这里是如何从您读取的文件中读取一个值(并假设您的 [item] 将有一个独特的标题,如 [Person1])

conf['Person1']['name']

- 然后写入文件非常接近正常

with open('FILE.INI', 'w') as inifile:

    conf.write(inifile)
于 2013-09-27T05:54:00.260 回答