for name in parser.options('booleans'): string_value = parser.get('booleans', name) value = parser.getboolean('booleans', name) print(' %-12s : %-7r --> %s' %(name, string_value, value)) # OPTIONS AS FLAGS # Usually the parser requires an explicit value for each option, but with the # SafeConfigParser parameter allow_no_value set to True, an option can appear by itself # on a line in the input file, and be used as a flag. from __future__ import print_function import ConfigParser # Require values try: parser = ConfigParser.SafeConfigParser() parser.read('allow_no_value.ini') except ConfigParser.ParsingError as err: print('Could not parse: ', err) else: print ('parsing.......') # Allow stand-alone option names: print('\nTrying again with allow_no_value=True') parser = ConfigParser.SafeConfigParser(allow_no_value=True) parser.read('allow_no_value.ini') for flag in ['turn_feature_on', 'turn_other_feature_on']: print('') print(flag) exists = parser.has_option('flags', flag)