简体   繁体   English

很好地解析python中的多行配置文件

[英]Nicely parsing a multiline config file in python

I need a config file to generate my scripts. 我需要一个配置文件来生成我的脚本。

[PATHS]
elements = elementA,elementB,elementC,elementD,elementE,elementF,elementG,elementH,elementJ,elementK

As you notice after a point the line gets too long. 正如你在一点之后注意到这条线太长了。 I can not keep track of the elements written in it and does not look nice at all. 我无法跟踪写在其中的元素,看起来并不好看。

In my script I do the following to read elements : 在我的脚本中,我执行以下操作来阅读elements

elements = config["PATHS"]["elements"].split(",")

Is there a nicer way to handle this? 有没有更好的方法来处理这个? I would prefer something that includes linebreak and tabs, for example: 我更喜欢包含换行符和制表符的内容,例如:

[PATHS]
elements = 
    - elementA
    - elementB
    - elementC
    - elementD
    - elementE
    - elementF
    - elementG
    - elementH
    - elementJ
    - elementK

Any suggestions from the more experienced are welcome too. 欢迎更有经验的任何建议。

I tried splitting with .split("\\n\\t\\t- ") but did not do the work 我尝试用.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']

This might do what you want: 这可能会做你想要的:

elements = [
    element.strip(' -')
    for element in config["PATHS"]["elements"].strip().split('\n')]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM