包“ConfigParser”中是否有办法获取Parser读取特定部分或密钥的行号?
[section1]
option1=3
option2=4
[section2]
option3=right
即。返回section1(lineNo 1)或option3(lineNo 5)的行号的方法。
答案 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跟踪行号。
我不知道维基中的信息当前有多少。