这是含有更多类似词典的.ini文件的内容
[section]
cmd_list = {'gamess': "416.gamess/exe/gamess",
'sjeng': '458.sjeng/exe/sjeng',
'soplex': '450.soplex/exe/soplex',
'astar': '473.astar/exe/astar',
}
...
现在在我的主文件中,想要动态访问字典:
for r in 'string'
cmd_list[r][1] #from .ini
cmd_list[r][0] #from .ini
....
怎么做?
答案 0 :(得分:1)
如果使用ConfigParser
library解析.ini
文件,cmd_list
的值仍然是包含Python dict文字的字符串;它还不是字典。
使用ast.literal_eval()
function将其加载到实际字典中:
>>> ast.literal_eval('''\
... {'gamess': "416.gamess/exe/gamess",
... 'sjeng': '458.sjeng/exe/sjeng',
... 'soplex': '450.soplex/exe/soplex',
... 'astar': '473.astar/exe/astar',
... }''')
{'astar': '473.astar/exe/astar', 'sjeng': '458.sjeng/exe/sjeng', 'gamess': '416.gamess/exe/gamess', 'soplex': '450.soplex/exe/soplex'}
>>> cmd_list = _
>>> cmd_list['sjeng']
'458.sjeng/exe/sjeng'
如果您控制输出格式,您可能想要重新考虑策略;有更好的格式来存储相同的信息。