2017-08-15 34 views
0

こんにちは私の設定で使用するすべての項目の列挙リストを含むファイルを持っていたいと思います。例えばFlask/PythonでEnum定数を作成する

{ 
    "SUCCESS": 1, 
    "FAILED": 1, 
    "PENDING": 1, 
} 

私はあなただけのいずれかのファイルにすべての列挙型を配置しますでLaravelのようなものを望んでいました。 Laravelでは、私は、フォルダの設定内にこれを置いて、私はlaravelそのような設定(「config.list_item」)でこれを参照するので、場合list_item例えば

return [ 
    "SUCCESS": 1, 
    "FAILED": 1, 
    "PENDING": 1, 
] 

を提出し、これは私が私のlist_itemで定義された配列を入れることができますファイル。 Python/Flaskで同じアプローチを達成する方法はありますか?私は考えることができる唯一の方法は、ファイルを作成し、その中に私が

def StatusEnum(): 
    return { 
     "SUCCESS": 1, 
     "FAILED": 1, 
     "PENDING": 1, 
    } 

以下の例のように関数を定義することになり、StatusEnum()でそれを参照しているが、私はクリーンな方法にしていたいですこの。

基本的に私はすべての私の列挙型リストを含むファイルを持つために、よりクリーンで最善のアプローチを望んでいます。私はpython /フラスコでこれを行う方法を知っているwan't。

+0

あなたが達成したいものを明確にすることはできますか? –

+0

@LelandBartonが私の質問を編集しました。私はLaravelがどのようにロードしてすべての設定/定数変数(Enum)を保存するかのようなことはしません –

+0

[ConfigParser](https://docs.python.org/2/library/configparser.html)を確認してください – stamaimer

答えて

0

スタンドライブラリーのconfigparserを使用できます。

#config.cfg 
[status] 
FAILED = 0 
SUCCESS = 1 
PENDING = 1 

# python source code 
import configparser 
config = configparser.ConfigParser() 
config.read("config.cfg") 
config.getint("status", "FAILED") 

また、構成ファイルにdict変数を配置するだけです。それを使用したい場所にインポートします。

# config.py 
status = {"FAILED": 0, "SUCCESS": 1, "PENDING": 2} 

from config import status 

print(status["FAILED"]) 
+0

これは良いと思われますアイデアはLaravelとほぼ同じです。私はこれを答えとして受け入れるよ –

関連する問題