如何用Python读取/etc/config.d/...?

-1 投票
2 回答
554 浏览
提问于 2025-04-17 16:21

我希望一些Linux发行版能够识别我的Python应用,这样它们就可以在/etc/myapp目录下创建一个配置文件和一个/myapp.d/文件夹,用户可以在这个文件夹里放置他们的配置文件,以覆盖/etc/myapp中的设置。

这个配置应该支持以下(或多或少是标准的)格式。

# settingx does ...
settingx=1

settingy = 0

settingz = "--this x --that y"

在我的Python应用中,我想使用settingx、settingy等设置。

这样做的最佳方法是什么?

2 个回答

0

使用 ConfigParser,因为这是一个被广泛接受的设置交换格式,已经包含在Python的标准库里。

import ConfigParser

config = ConfigParser.RawConfigParser()

config.add_section('myapp')
config.set('myapp', 'settingx', 1)
config.set('myapp', 'settingy ', 0)
config.set('myapp', 'settingz ', '--this x --that y')

# Writing our configuration file to 'example.cfg'
with open('/etc/myapp/example.cfg', 'wb') as configfile:
    config.write(configfile)
0

如果你打算用 RPM 来分发你的应用程序,可以看看这个链接 - http://fedoraproject.org/wiki/How_to_create_an_RPM_package

另外,你也可以看看 distutils

如果你只是想要一个简单的安装脚本,那么它可以自己创建文件和目录。

撰写回答