很好地解析 python 中的多行配置文件
Nicely parsing a multiline config file in python
我需要一个配置文件来生成我的脚本。
[PATHS]
elements = elementA,elementB,elementC,elementD,elementE,elementF,elementG,elementH,elementJ,elementK
正如您注意到的那样,线变得太长了。我无法跟踪其中写入的元素,而且看起来一点也不好看。
在我的脚本中,我执行以下操作来读取 elements
:
elements = config["PATHS"]["elements"].split(",")
有没有更好的方法来处理这个问题?我更喜欢包含换行符和制表符的内容,例如:
[PATHS]
elements =
- elementA
- elementB
- elementC
- elementD
- elementE
- elementF
- elementG
- elementH
- elementJ
- elementK
也欢迎更有经验的人提出任何建议。
我尝试用 .split("\n\t\t- ")
拆分,但没有成功
print("1",config["PATHS"]["elements"])
1
- elementA
- elementB
- elementC
print("2",config["PATHS"]["elements"].strip())
2 - elementA
- elementB
- elementC
print("3",config["PATHS"]["elements"].strip().split('\n'))
3 ['- elementA', '- elementB', '- elementC']
这可能会满足您的要求:
elements = [
element.strip(' -')
for element in config["PATHS"]["elements"].strip().split('\n')]
我需要一个配置文件来生成我的脚本。
[PATHS]
elements = elementA,elementB,elementC,elementD,elementE,elementF,elementG,elementH,elementJ,elementK
正如您注意到的那样,线变得太长了。我无法跟踪其中写入的元素,而且看起来一点也不好看。
在我的脚本中,我执行以下操作来读取 elements
:
elements = config["PATHS"]["elements"].split(",")
有没有更好的方法来处理这个问题?我更喜欢包含换行符和制表符的内容,例如:
[PATHS]
elements =
- elementA
- elementB
- elementC
- elementD
- elementE
- elementF
- elementG
- elementH
- elementJ
- elementK
也欢迎更有经验的人提出任何建议。
我尝试用 .split("\n\t\t- ")
拆分,但没有成功
print("1",config["PATHS"]["elements"])
1
- elementA
- elementB
- elementC
print("2",config["PATHS"]["elements"].strip())
2 - elementA
- elementB
- elementC
print("3",config["PATHS"]["elements"].strip().split('\n'))
3 ['- elementA', '- elementB', '- elementC']
这可能会满足您的要求:
elements = [
element.strip(' -')
for element in config["PATHS"]["elements"].strip().split('\n')]