我在同一个文件夹中有python脚本和shell脚本,它们都需要配置。我目前有一个用于我的python脚本的config.py,但我想知道是否可以有一个配置文件,python脚本和shell脚本都可以轻松读取。
任何人都可以给出一个最适合python和shell读取的配置文件格式的例子。
答案 0 :(得分:6)
我认为最简单的解决方案是:
key1="value1"
key2="value2"
key3="value3"
在shell中你只需要获取这个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"像吉尔斯一样回答要求。