Python 2、ConfigParser:获取a的行号section/option

Python 2, ConfigParser: retrieving the line number of a section/option

包 "ConfigParser" 中有没有办法获取解析器读取特定部分或键的行号?

INI-文件

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

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

据我所知,python 的 ConfigParser 不会跟踪行号。

你可以通过阅读源代码说服自己。这里 link 到 ConfigParser 的源代码来自 python 2.7.9: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 跟踪行号。

我不知道 wiki 中的信息有多新。