我知道应该避免使用 eval() 和 exec(),但在这种情况下,它似乎是最好的选择:我从 wxPython 中的复选框和文本框中获取值并将它们放入我的配置类中。这是我使用 eval() 的方式:
config = wx.Config()
checkBoxes = ['option_1', 'option_2']
for key in checkBoxes:
config.Write(key, str(eval('self.m_checkBox_'+key+'.GetValue()'))
没有任何安全问题,因为 eval 没有任何用户输入,这对我来说似乎很清楚。有一个更好的方法吗?