一个可以被python和shell读取的配置文件

时间:2013-01-21 15:04:14

标签: python bash shell configuration debian

我在同一个文件夹中有python脚本和shell脚本,它们都需要配置。我目前有一个用于我的python脚本的config.py,但我想知道是否可以有一个配置文件,python脚本和shell脚本都可以轻松读取。

任何人都可以给出一个最适合python和shell读取的配置文件格式的例子。

4 个答案:

答案 0 :(得分:6)

我认为最简单的解决方案是:

key1="value1"
key2="value2"
key3="value3"

中你只需要获取这个env文件,在Python中,它很容易解析。

=

周围不允许有空格

对于Python,请参阅此帖子:Emulating Bash 'source' in Python

答案 1 :(得分:1)

这在shell和python中都有效:

NUMBER=42
STRING="Hello there"

你还需要什么?

答案 2 :(得分:1)

configobj lib可以为此提供帮助。

from configobj import ConfigObj
cfg = ConfigObj('/home/.aws/config')
access_key_id = cfg['aws_access_key_id']
secret_access_key = cfg['aws_secret_access_key']

答案 3 :(得分:0)

保持" config.py"而不是" config.sh"导致一些漂亮的代码。

config.py

CONFIG_VAR = "value"
CONFIG_VAR2 = "value2"

script.py

import config

CONFIG_VAR = config.CONFIG_VAR
CONFIG_VAR2 = config.CONFIG_VAR2

script.sh

CONFIG_VAR="$(python-c 'import config;print(config.CONFIG_VAR)')"
CONFIG_VAR2="$(python-c 'import config;print(config.CONFIG_VAR2)')"

另外,这比尝试"模拟Bash'来源'更加清晰。在Python"像吉尔斯一样回答要求。