In [1]:
from configobj import ConfigObj

In [13]:
config = ConfigObj()
config.indent_type = '    '
config.initial_comment = [
    "Configuration file for CHARIS melt modeling",
]
input_section = {
    'forcing': {
        'temperature': {
            'path': '/path/to/temperature/data',
            'pattern': 'filename%pattern%',
            'type': 'type_of_file(binary, etc)'
        }
    }
}
config['input'] = input_section
config['output'] = {}
config['validation'] = {}
config.filename = 'test_config.ini'
config.write()

In [21]:
!ls


Untitled.ipynb          Untitled.txt            modis_tiles_config.ini~
Untitled.py             modis_tiles_config.ini  test_config.ini

In [2]:
config = ConfigObj('modis_tiles_config.ini')
print config['modis_tile']['rows']
print config['input']['fixed']['basin_mask']['dir']
print config['input']['fixed']['basin_mask']['pattern']
print config['input']['fixed']['basin_mask']['type']
print config['input']['fixed']['country_mask']['pattern']


2400
/projects/CHARIS/basins/major_basins_from_GRDC/MODIStiles
%DRAINAGEID%.basin_mask.%TILEID%.tif
1
%DRAINAGEID%.%TILEID%.tif

In [3]:
print config.initial_comment


['# Data processing configuration for MODIS-tile data', '# used by CHARIS melt modeling', '#', '# First section contains general information', '# about MODIS tiles (dimensions/resolutions)', '#', '# Each section thereafter contains information for reading', '# a type of MODIS tile data', '# directory, filename pattern and expected data type (byte, float)', '# Use IDL SIZE() type values until I figure out the python equivalents,', '# e.g.:', '# 1 = byte', '# 2 = int', '# 4 = float', '']

In [36]:
print config['input'].comments


{'forcing': ['', '    # Model forcing data that varies by time (annual, daily)'], 'fixed': ['']}

In [ ]:


In [ ]: