「設定ファイル」とは、「背景色」「実行速度」「×数」などが定義されたファイルのことです。現在、最初にインポートした単一のsetting.py
ファイルとして実装しました。代わりにファイルにするべきだと誰かに言われましたsettings.ini
が、理由がわかりません。明確にするように注意してください、最適なオプションは何ですか?
4 に答える
最適な解決策はありません。それは好みの問題です。*
通常、設定はチューリング完全言語で表現する必要はありません。多くの場合、設定は単なるフラグとオプションの集まりであり、文字列や数字などである場合もありますsettings.py
。エンドユーザーは、非常に難解な構成(ゲームのマップなど)を生成するコードを作成することが期待されていました。.bashrc
これは、シェルスクリプトスタイルのファイルとかなり似ています。
しかし、繰り返しになりますが、プログラムの99.9%では、設定は多くの場合、フラグとオプションの集まりであり、文字列や数値などである場合もあります。JSONまたはXMLとして保存することは問題ありません。また、設定の反映を簡単に実行できます。たとえば、ツリー形式で自動的に一覧表示したり、説明からGUIを自動的に作成したりできます。
(また、設定ファイルを変更してコードを挿入できるようにすると、(ありそうもない?)セキュリティの問題になる可能性があります。)
*編集:しゃれは意図されていません...
設定ファイルをメインコードベースから分離することが良い考えである理由はいくつかあります。もちろん、それはユースケースによって異なり、ユースケースに対して評価する必要があります。
構成は、プログラミング言語を理解していないエンドユーザーが管理できます。
ini
構成を除外し、構成パラメーターに単純なキーと値のペアを使用する単純なファイルを使用する方が理にかなっています。構成は、インストール環境によって異なります。コードは複数の環境で実行され、それらはすべて異なる構成を使用します。これらの環境に個別の構成ファイルと同じソースコードをインストールすることで、このようなケースを維持するのは非常に簡単です。
構成ファイルとは何か、ソースファイルとは何かを知っているパッケージマネージャーがあります。これらは、バージョンのアップグレードなどで変更された構成を上書きしないようにインテリジェントです。したがって、パッケージのバージョンのアップグレード後に構成パラメーターをリセットすることを心配する必要はありません。たとえば、デフォルトの構成ファイルを使用して製品を出荷します。ユーザーはいくつかのパラメーターを微調整しました。別のバージョンのパッケージを発送しました。ユーザーは、バージョンのアップグレード後に構成がリセットされることを期待しないでください。
設定ファイルがPythonモジュールである場合の問題の1つは、設定ファイルに、インポート時に実行されるコードが含まれている可能性があることです。これにより、悪意のあるコードがプログラムに挿入される可能性があります。
Pythonの場合、ストックライブラリを使用します。
YAMLスタイルの構成ファイル:
http://www.yaml.org/start.html
http://pypi.python.org/pypi/PyYAML/
(例:Google App Engineを使用)
INI:http ://docs.python.org/library/configparser.html
手動で編集した構成ファイルにはXMLを使用しないでください。