|
|
|
|
| Python有没有可以解析有重复section的配置文件的工具? |
 Python有没有可以解析有重复section的配置文件的工具? - meijing [ 2006-03-20 16:22 | 875 byte(s)]
 Re: Python有没有可以解析有重复section的配置文件的工具? - limodou [ 2006-03-20 20:16 | 207 byte(s)]
 Re: Python有没有可以解析有重复section的配置文件的工具? - meijing [ 2006-03-21 09:07 | 343 byte(s)]
 Re: Python有没有可以解析有重复section的配置文件的工具? - limodou [ 2006-03-21 14:54 | 287 byte(s)]
 Re: Python有没有可以解析有重复section的配置文件的工具? - meijing [ 2006-03-22 08:52 | 4 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
ConfigParser好像不能处理有重复section的配置文件。
我猜想是因为它是用dictionary来存储解析结果的吧。
有没有其它现成的工具?
例如:如下配置文件
[Server]
Address=171.15.2.5
Port=50002
[Process]
name = proc1
ip = 192.168.0.1
port = 9000
[Process]
name = proc2
ip = 192.168.0.2
port = 9001
解析结果是
>>> cp = SafeConfigParser()
>>> cp.readfp(open('console.cfg'))
>>> print cp._sections
{'Process': {'port': '9001', '__name__': 'Process', 'name': 'proc2', 'ip': '192.168.0.2'}, 'Server': {'__name__': 'Server', 'port': '50002', 'address': '171.15.2.5'}}
>>>
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
好象没有。而且在实际的使用中,象这样的文件都是自动生成的。那么如何区分同名的section中的内容不同的。既然这个很难做到,为什么要分开呢?
象你所说的只适合读取,一旦要保存了,就是一个大问题了。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
如果ConfigParser用类似C++ std::multi-map 或者是链表链表来存放解析结果就可以实现呀。
我现在是想写一个脚本和多个机器通信,所以需要配置多个host。如果python中没有现成的工具,那么:
1。 有没有别的变通的方法?或者
2。 修改ConfigParser源码来满足我的需求是否可行?如果可行的话,有什么建议?
谢谢
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
当然有了。比如
[host]
1 = host1
2 = host2
[host1]
[host2]
这样不就可以分开了嘛。方法有许多,关键是看你的数据要组织成什么样子。
可以修改ConfigParser,还可以使用其它的ini工具。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
|