I l@ve RuBoard |
5.8 The ConfigParser ModuleThe ConfigParser 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 the sample file used in Example 5-16: [book] title: The Python Standard Library author: Fredrik Lundh email: [email protected] version: 2.0-001115 [ematter] pages: 250 [hardcopy] pages: 350 Example 5-16 uses the ConfigParser module to read the sample configuration file. Example 5-16. Using the ConfigParser ModuleFile: 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 ([email protected]) 250 pages book title = The Python Standard Library email = [email protected] author = Fredrik Lundh version = 2.0-001115 _ _name_ _ = book ematter _ _name_ _ = ematter pages = 250 hardcopy _ _name_ _ = hardcopy pages = 350 In Python 2.0, the ConfigParser module also allows you to write configuration data to a file, as Example 5-17 shows. Example 5-17. Using the ConfigParser Module to Write Configuration DataFile: 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 |
I l@ve RuBoard |