config.pyでグローバル構成変数を提供する最もPython的な方法?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3か月前に閉鎖。 この質問を改善する 非常に複雑な単純なものの無限の探求で、Python eggパッケージにある典型的な「config.py」内にグローバル構成変数を提供するための最も「Python的な」方法を研究しています。 伝統的な方法(ああ、古き良き#define!)は次のとおりです。 MYSQL_PORT = 3306 MYSQL_DATABASE = 'mydb' MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups'] したがって、グローバル変数は次のいずれかの方法でインポートされます。 from config import * dbname = MYSQL_DATABASE for table in MYSQL_DATABASE_TABLES: print table または: import config dbname = config.MYSQL_DATABASE assert(isinstance(config.MYSQL_PORT, int)) これは理にかなっていますが、特に特定の変数の名前を覚えようとする場合は、少し面倒になることがあります。さらに、変数を属性として持つ「設定」オブジェクトを提供すると、より柔軟になる可能性があります。それで、bpython config.pyファイルからリードして、私は思いつきました: class Struct(object): def __init__(self, *args): self.__header__ = str(args[0]) if …