我正在制作一个叫做索引的模块。有一个变量__version__
,它是最新版本。我有一个函数,它根据参数v
输出更新信息。如果v
是'n'
,我希望这个函数输出最新的更新信息。因此,我有大量类型为_update_desc1_0
的变量(当然,它并不总是1_0
)。我有一个自定义函数_versionTransform(v)
,它将float(1.3)
转换为str(1_3)
。我想将'_update_desc' + _versionTransform(__version__)
转换为例如_update_desc1_4
,然后返回它
我试着用compile()
和exac()
做一些无聊的东西,但没用
转换功能
def _versionTransform(v):
if type(v) == float:
v = str(v)
result = v.replace('.', '_')
return result
版本功能
def getUpdate(v):
if v == 'new' or v == 'newest' or v == 'New' or v == 'Newest' or v == 'n' or v == 'NEW' or v == \
'NEWEST' or v == 'N':
trans1 = _versionTransform(__version__)
trans2 = '_update_desc' + trans1
return exec(trans2)
我希望它输出关于最新版本的信息,但它返回'_update_desc1_3'
或None
哦,我解决了。问题是我键入了
return exec(trans2)
而不是return eval(trans2)
相关问题 更多 >
编程相关推荐