Lists in ConfigParser
Also a bit late, but maybe helpful for some.I am using a combination of ConfigParser and JSON:
[Foo]fibs: [1,1,2,3,5,8,13]
just read it with:
>>> json.loads(config.get("Foo","fibs"))[1, 1, 2, 3, 5, 8, 13]
You can even break lines if your list is long (thanks @peter-smit):
[Bar]files_to_check = [ "/path/to/file1", "/path/to/file2", "/path/to/another file with space in the name" ]
Of course i could just use JSON, but i find config files much more readable, and the [DEFAULT] Section very handy.
There is nothing stopping you from packing the list into a delimited string and then unpacking it once you get the string from the config. If you did it this way your config section would look like:
[Section 3]barList=item1,item2
It's not pretty but it's functional for most simple lists.
Coming late to this party, but I recently implemented this with a dedicated section in a config file for a list:
[paths]path1 = /some/path/path2 = /another/path/...
and using config.items( "paths" )
to get an iterable list of path items, like so:
path_items = config.items( "paths" )for key, path in path_items: #do something with path
Hope this helps other folk Googling this question ;)