Если вы любите один лайнер, попробуйте:
d=eval('{'+re.sub('\'[\s]*?\'','\':\'',re.sub(r'([^'+input('SEP: ')+',]+)','\''+r'\1'+'\'',open(input('FILE: ')).read().rstrip('\n').replace('\n',',')))+'}')
Входной файл = Путь к файлу, SEP = Символ-разделитель ключа-значения
Не самый элегантный или эффективный способ сделать это, но, тем не менее, довольно интересно:)