Python 2,ConfigParser:检索section / option的行号

时间:2015-02-23 14:04:50

标签: python configparser

包“ConfigParser”中是否有办法获取Parser读取特定部分或密钥的行号?

INI-文件

[section1]
    option1=3
    option2=4
[section2]
    option3=right

即。返回section1(lineNo 1)或option3(lineNo 5)的行号的方法。

1 个答案:

答案 0 :(得分:1)

据我所知,python的ConfigParser无法跟踪行号。

您可以通过阅读源代码来结识自己。这里是来自python 2.7.9的ConfigParser源代码的链接:https://hg.python.org/cpython/file/648dcafa7e5f/Lib/ConfigParser.py

python 3.4中的源代码(编写本文时的最新提交):https://hg.python.org/cpython/file/516d3773ecb2/Lib/configparser.py

阅读文件由read()readfp()完成。两者都只是_read()的包装。方法_read()会跟踪变量lineno中的行号,但据我所知,lineno仅用于报告错误。


以下是备用配置解析器的概述:https://wiki.python.org/moin/ConfigParserShootout

通过快速搜索,似乎只有INITools跟踪行号。

我不知道维基中的信息当前有多少。