我的自定义函数返回错误的内容,而不是Python中编译的字符串

2024-09-30 00:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个叫做索引的模块。有一个变量__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


Tags: or函数功能版本信息ifversiondef

热门问题