有许多类似的问题,但没有一个答案解决了我的问题。
我定义了几个解析大型数据集的函数。首先,我调用数据,然后将数据(在.txt中表示为行和列)组织到列表中,我将为各个数据条目编制索引。在此之后,我建立了我的函数,这些函数将一次一个地遍历列表。代码如下:
f = open(fn)
for line in iter(f):
entries = [i for i in line.split() if i]
def function_one():
if entries[0] == 150:
# do something
def function_two():
if entries[1] == 120:
# do something else
def function_three():
if len(entries) > 10:
# do something else
等。
我试图提示用户,当每个函数返回关于数据集的不同内容时,他们希望执行什么函数。我的尝试如下:
f_call = input('Enter Function Name: ')
if f_call in locals().keys() and callable(locals()['f_call']):
locals()['f_call']()
else:
print('Function Does Not Exist')
运行脚本时,会提示我输入'Enter Function Name: