我想在 python 中解析格式的结构化文本文件:
[filter name_of_filter]
field1 = xxx, xxx
field2 = 23
文本文件可能包含具有不同数量字段的其他标题。对我来说,该结构类似于 Windows ini 文件。我希望以与 ConfigParser 提供访问权限相同的方式访问数据,即能够列出部分,然后对于给定的部分,查看字段及其对应的值是什么。目的是读取文件,修改它的位并以相同的格式写回。
原始代码
import ConfigParser as cp
config = cp.ConfigParser()
config.read('test')
print config.sections()
输出
[]
我出错的地方是不存在名为“测试”的文件,这是我的蹩脚错误。
背景
在发布之前,我尝试了 ConfigParser(因为很久以前我曾在 .ini 文件中使用过它)但我无法让它工作。Google 和 SO 引导我使用 pyparser,但这似乎更多地用于解释句子,我无法弄清楚如何为多行构建模板。我一直在寻找类似 ConfigParser 以及它如何处理 .ini 文件或 BeautifulSoup 处理 html/xml 文档或 lxml 处理 xml 文档等的东西。
不幸的是,我不知道这属于编程/数据处理的哪个分支,也不知道使用正确的关键字来确定自己的解决方案。在我的沮丧中,我在这里发布了一个问题。
可接受的答案
以下任何一项都是可以接受的:
- 展示如何使用 ConfigParser 来解决问题。
- 或者,如果有另一个模块可以解释这种类型的结构化文本文件,请说明并提供示例。
奖励积分
这类问题属于编程或数据处理的哪个分支?在您有一些数据的地方,您定义一个模板或自动定义一个模板,然后将其应用于以结构化方式访问数据。
谢谢!