首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ConfigParser中的列表

ConfigParser中的列表
EN

Stack Overflow用户
提问于 2008-12-03 06:29:06
回答 16查看 227.1K关注 0票数 207

典型的ConfigParser生成的文件如下所示:

代码语言:javascript
复制
[Section]
bar=foo
[Section 2]
bar2= baz

现在,有没有一种方法可以索引列表,比如:

代码语言:javascript
复制
[Section 3]
barList={
    item1,
    item2
}

相关问题:

每节Python的ConfigParser唯一键

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2008-12-02 22:56:45

没有什么可以阻止您将列表打包成分隔字符串,然后在从配置中获得字符串后再将其解包。如果您这样做,您的配置节将如下所示:

代码语言:javascript
复制
[Section 3]
barList=item1,item2

它并不美观,但对于大多数简单的列表都是有效的。

票数 159
EN

Stack Overflow用户

发布于 2012-03-16 18:48:23

也有点晚了,但可能对一些人有帮助。我使用的是ConfigParser和JSON的组合:

代码语言:javascript
复制
[Foo]
fibs: [1,1,2,3,5,8,13]

只需用以下命令来阅读:

代码语言:javascript
复制
>>> json.loads(config.get("Foo","fibs"))
[1, 1, 2, 3, 5, 8, 13]

如果你的列表很长,你甚至可以换行(感谢@peter-smit):

代码语言:javascript
复制
[Bar]
files_to_check = [
     "/path/to/file1",
     "/path/to/file2",
     "/path/to/another file with space in the name"
     ]

当然,我可以只使用JSON,但我发现配置文件的可读性要好得多,而且

默认

这一节非常方便。

票数 253
EN

Stack Overflow用户

发布于 2011-11-08 17:50:52

我来晚了,但我最近在一个配置文件中使用了一个专门的部分来实现这一点,以获得一个列表:

代码语言:javascript
复制
[paths]
path1           = /some/path/
path2           = /another/path/
...

并使用

要获得路径项的可迭代列表,如下所示:

代码语言:javascript
复制
path_items = config.items( "paths" )
for key, path in path_items:
    #do something with path

希望这能帮助其他人在谷歌上搜索这个问题;)

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

https://stackoverflow.com/questions/335695

复制
相关文章

相似问题

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