ConfigParser vs. import config

Jonathan picture Jonathan · Nov 9, 2011 · Viewed 32.3k times · Source

ConfigParser is the much debated vanilla configuration parser for Python.
However you can simply import config where config.py has python code which sets configuration parameters.

What are the pros\cons of these two approaches of configuration? When should I choose each?

Answer

Nathan picture Nathan · Nov 9, 2011

The biggest issue I see with import config is that you don't know what will happen when you import it. Yes, you will get a set of symbols that are naturally referenced using a . style interface. But the code in the configuration file can also do who-knows-what. Now, if you completely trust your users, then allowing them to do whatever they feel like in the config file is possibly a good thing. However, if you have unknown quantities, or you want to protect users from themselves, then having a configuration file in a more traditional format will be safer and more secure.