The ConfigParser module
This module reads configuration files.
The files should be written in a format similar to Windows INI files. The file contains one or more sections, separated by section names written in brackets. Each section can contain one or more configuration items.
Here’s an example:
[book] title: The Python Standard Library author: Fredrik Lundh email: fredrik@pythonware.com version: 2.0-001115 [ematter] pages: 250 [hardcopy] pages: 350
# File: configparser-example-1.py import ConfigParser import string config = ConfigParser.ConfigParser() config.read("samples/sample.ini") # print summary print print string.upper(config.get("book", "title")) print "by", config.get("book", "author"), print "(" + config.get("book", "email") + ")" print print config.get("ematter", "pages"), "pages" print # dump entire config file for section in config.sections(): print section for option in config.options(section): print " ", option, "=", config.get(section, option)
THE PYTHON STANDARD LIBRARY by Fredrik Lundh (fredrik@pythonware.com) 250 pages book title = Python Standard Library email = fredrik@pythonware.com author = Fredrik Lundh version = 2.0-010504 __name__ = book ematter __name__ = ematter pages = 250 hardcopy __name__ = hardcopy pages = 300
In Python 2.0, this module also allows you to write configuration data to a file.
# File: configparser-example-2.py import ConfigParser import sys config = ConfigParser.ConfigParser() # set a number of parameters config.add_section("book") config.set("book", "title", "the python standard library") config.set("book", "author", "fredrik lundh") config.add_section("ematter") config.set("ematter", "pages", 250) # write to screen config.write(sys.stdout)
[book] title = the python standard library author = fredrik lundh [ematter] pages = 250
Comment:
Well, using a python like a file for Config file is actually a nifty idea. I would see this as a credit to the beauty of Python language. But remember the users who should not be disturbed by a python file and a configuration file and who have got used to config file in .ini format and shell config files. For them and standard purposes, configfile is best and ConfigParser comes handy. Moreover, the format being RFC822 standard, you will have the flexiblity to use any other program which understands this as well. Hope this helps. Thanks,
Posted by Senthil (2007-02-02)
Comment:
With Python-like ini files you may also run into security issues: as the user can edit those files, he can use whatever python commands he likes, including harmful ones...
Posted by Boon (2007-02-28)
Comment:
Marshall, you obviously have not worked in a production environment with legacy business systems. There are untold numbers of legacy systems out there which require monitoring, work-arounds, updates, enhancements, etc. You may not need to create a configuration file for new development, but one day you will run into a legacy system that will require this module. Peace out, yo.
Posted by Anonymous Coward (2007-04-11)
Comment:
Why would I use configuration files if I can use a simple Python-like file ?
Posted by Marshall (2007-01-10)