python - 如何使用变量作为其他文件中的名称来调用函数
问题描述
如果我使用变量名,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,目的是能够从一个有组织的空间调用函数,但它只是出现错误。我已经通过放置实际的文件名和函数名来让它工作,但是我想让它只从列表中的变量中调用。
解决方案
我相信您的问题出在这一行:
函数 = 函数[Function_To_Call]+"()"
脱掉+"()"
就放()
。那应该将函数调用为函数,而不是像现在那样调用它的混合体。
推荐阅读
- reactjs - 传递给解析器不是有效的 GraphQL DocumentNode。您可能需要使用“graphql-tag”或其他方法将您的操作转换为文档
- ms-access - 访问子报表比较记录
- c# - 使用 AjaxToolKit:PopUpExtender 在 asp.net Web 应用程序中没有出现弹出窗口
- node.js - 无法在 Windows 上使用 nvm 安装节点
- mysql - 数据库设计布局
- reactjs - 将值从灯箱传递给父母
- node.js - forEach 中的 Promise
- python-3.x - Python:用 pip3 安装了一个本地包,但没有找到模块错误
- c# - 启动 ConfigureServices AddMvc() 中的 KeyNotFoundException
- java - GetObjectField() 是否返回本地引用?