如何在default.conf文件中创建数组或列表

big*_*801 4 python linux configuration webserver

我继承了一个python脚本,它从default.conf文件中提取一些变量,我相信它是一个机器配置文件.

该脚本的一个部分是从.conf文件中提取配置键并期望有一个可能的选项列表,但是现在只有一个选项,我不知道如何制作它所以有多个选项.

[syndication]
name = Test Name
title = Test Title
categories = Category 1
Run Code Online (Sandbox Code Playgroud)

所以在上面的例子中,配置键是syndication和我试图添加多个选项的变量是category.

谢谢!

Pau*_*tas 5

如果适用于一行的值太少,我会选择用逗号分隔它们,例如其他研究员,否则根据RFC822标准,您可以按标签开始的行拆分值:

settings.conf:

[syndication]
name = Test Name
title = Test Title
categories =
    Category 1
    Category 2
    Category 3
Run Code Online (Sandbox Code Playgroud)

settings.py:

#!/usr/bin/python
import ConfigParser

config = ConfigParser.ConfigParser()

# Reading
config.readfp(open('settings.conf'))
categories = config.get('syndication', 'categories').strip().split('\n')

# Appending
categories.append('Category 4')

# Changing
config.set('syndication', 'categories', '\n' + '\n'.join(categories))

# Storing
config.write(open('settings.conf', 'w'))
Run Code Online (Sandbox Code Playgroud)

你的新settings.conf:

[syndication]
name = Test Name
title = Test Title
categories = 
    Category 1
    Category 2
    Category 3
    Category 4
Run Code Online (Sandbox Code Playgroud)

注意:您可以在:或之后的第一行中放置一个值=,但作为值列表,我认为当您手动编辑文件时,从第二行开始会更"可读".