2013-01-21 42 views
7

我在同一個文件夾中都有python腳本和shell腳本,它們都需要配置。我目前有一個用於我的python腳本的config.py,但是我想知道是否可以有一個單獨的配置文件,它可以通過python腳本和shell腳本輕鬆讀取。python和shell可以讀取的配置文件

任何人都可以給出一個配置文件的格式的例子,最適合被python和shell讀取。

+0

我已經使用了'YAML',並推薦它。還有'python-yaml'。 –

回答

6

我認爲最簡單的解決方案將是:

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

你只需要這個源文件的env和Python中,很容易解析。

空間不在身邊=

對於Python允許的,看到這個帖子:Emulating Bash 'source' in Python

+0

文件格式是什麼意思,比如cfg,ini等? – Jimmy

+0

對於Debian,無論如何。 –

1

這是在這兩個外殼和Python有效:

NUMBER=42 
STRING="Hello there" 

你還需要什麼呢?

+0

我認爲OP希望有一種不違反約定的方法。 (即不要將文件作爲文本文件打開或啓動子進程或調用'eval') – JellicleCat

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'] 
+0

我認爲應該在['aws_access_key_id']之前添加[<配置文件名稱>]。類似於cfg [] ['aws_access_key_id'] – Malgi