8

同じフォルダーにPythonスクリプトとシェルスクリプトがあり、どちらも構成が必要です。私は現在、Pythonスクリプト用のconfig.pyを持っていますが、Pythonスクリプトとシェルスクリプトの両方で簡単に読み取ることができる単一の構成ファイルを作成できるかどうか疑問に思っていました。

Pythonとシェルの両方で読み取るのに最適な構成ファイルの形式の例を誰かに教えてもらえますか?

4

4 に答える 4

6

最も簡単な解決策は次のようになると思います:

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

では、このenvファイルをソースするだけでよく、Pythonでは簡単に解析できます。

周りにスペースは許可されていません=

Pythonについては、次の投稿を参照してください:PythonでのBashの「ソース」のエミュレート

于 2013-01-21T15:06:26.120 に答える
3

configobjlibはこれに役立ちます。

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']
于 2015-10-16T10:20:43.620 に答える
1

これはシェルとPythonの両方で有効です。

NUMBER=42
STRING="Hello there"

他に何か要りますか?

于 2013-01-21T15:07:31.423 に答える
-1

「config.sh」ではなく「config.py」を保持すると、かなりのコードになります。

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)')"

さらに、これは、Gillesの回答が要求するように「PythonでBashの「ソース」をエミュレートする」ことを試みるよりもはるかに読みやすくなっています。

于 2018-05-23T20:28:20.697 に答える