A “settings file” would be a file where things like “background color”, “speed of execution”, “number of x’s” are defined. Currently, I implemented it as a single setting.py file, which I import in the beginning. Someone told me I should make it a settings.ini file instead, but I don’t see why! Care to clarify, what is the optimal option?
A settings file would be a file where things like background color, speed of
Share
There is no optimal solution; it is a matter of preference.*
Normally, settings do not need to be expressed in a Turing-complete language: they’re often just a bunch of flags and options, sometimes strings and numbers, etc. An argument for having a
settings.pyfile (though very unorthodox) would be if the end-user was expected to write code to generate very esoteric configurations (e.g. maps for a game). This would then be fairly similar to shell script.bashrc-style files.But again, in 99.9% of programs, the settings are often just a bunch of flags and options, sometimes strings and numbers, etc. It’s fine to store them as JSON or XML. It also makes it easy to perform reflection on your settings: for example, automatically listing them in a tree manner, or automatically creating a GUI out of the descriptions.
(Also it may be a (unlikely?) security issue if you allow people to inject code by modifying the settings file.)
*edit: no pun intended…