We can store configuration values in JSON or YAML files with relative ease. The syntax is designed to be user friendly. We can represent a wide variety of things in YAML. We're somewhat restricted to a narrower variety of object classes in JSON. We can use a JSON configuration file that looks like the following code:
{ "table":{ "dealer":"Hit17", "split":"NoResplitAces", "decks":6, "limit":50, "payout":[3,2] }, "player":{ "play":"SomeStrategy", "betting":"Flat", "rounds":100, "stake":50 }, "simulator":{ "samples":100, "outputfile":"p2_c13_simulation.dat" } }
The JSON document looks like a dictionary of dictionaries. This is precisely the object that will be built when we load this file. We can load a single configuration file with the following code:
import json config= json.load( "config.json" )
This allows us to use config['table']...