ConfigParser isn't designed to handle such conditions. Furthermore, your config file doesn't make sense to me.
ConfigParser gives you a dict-like structure for each section, so when you call parser.items(section), I'm expecting similar output to dict.items(), which is just a list of key/value tuples. I would never expect to see something like:
[('spam', 'eggs'), ('spam', 'ham')]
Not to mention, how would you expect the following to behave?:
parser.get('Some Section', 'spam')
Which is the intended way to retrieve values.
If you want to store multiple values for the same key, I would suggest something like this in your config file:
[Some Section]
spam: eggs, ham
And this in your code:
spam_values = [v.strip() for v in parser.get('Some Section', 'spam').split(',')]
Of course, this will only work for values that don't contain commas themselves or handle quoting. For that, you should employ a more advanced technique (see this and this).
EDIT: If you don't mind the extra dependency, You could check out ConfigObj, which natively supports lists as a value type.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…