首页 > 解决方案 > 如何使用变量作为其他文件中的名称来调用函数

问题描述

如果我使用变量名,Python 不会让我从同一目录中的另一个文件调用函数。

我试过 exec()

def Index():
    Functions = ["","Decimal_Into_Hex"]
    for x in range(1,len(Functions)):
        print(x,Functions[x])
    try:
        Function_To_Call = int(input("Which task would you like to call: "))
    except:
        print("Please enter a number")
        Index()
    else:
        FileName = Functions[Function_To_Call]
        Function = Functions[Function_To_Call]+"()"
        try:
            import FileName as Imp
        except:
            print("Not a file")
            Index()
        else:
            Imp.Function

Index()

它应该从也名为 Decimal_Into_Hex 的文件中获取函数 Decimal_Into_Hex,目的是能够从一个有组织的空间调用函数,但它只是出现错误。我已经通过放置实际的文件名和函数名来让它工作,但是我想让它只从列表中的变量中调用。

标签: python

解决方案


我相信您的问题出在这一行:

函数 = 函数[Function_To_Call]+"()"

脱掉+"()"就放()。那应该将函数调用为函数,而不是像现在那样调用它的混合体。


推荐阅读