我正在尝试创建包含函数Config
的 options()
模块。该函数为用户提供了特定的选项,并允许他们键入他们选择的选项,然后将键盘输入存储到我所做的其他模块中使用的变量中。 Config
模块的代码是:
def options():
choices = {'1': 'Graph API Data', '2': 'Comparative Graphs', '3': 'Exit'}
for choice, option in sorted(choices.items(), key=lambda x: x[0]):
print(choice, option)
Choice = eval(input('Select what you want to do'))
return Choice
opt_number = options()
此模块由另一个脚本调用:
import Config as conf
conf.options()
我想将Choice
值分配给opt_number
,但opt_number = options()
会导致配置模块在我的其他脚本只被调用一次时被调用两次。 / p>
我应采取哪些措施来消除调用函数options()
两次?
答案 0 :(得分:1)
您应该阅读有关python modules的更多信息。
您正在导入模块,如果要删除行
,则已通过初始化调用该函数conf.options()
从你的另一个脚本,这应该停止调用你的函数两次,它只会调用该函数一次。另一种方法是删除行
opt_number = options()
来自模块Config.py。
此外,还存在许多其他方式,例如在另一个函数中使用opt_number = options()
,因此在调用该函数之前,它不会调用options()
。例如:
def take_action():
opt_number = options()
只有在另一个脚本中调用opt_number
时,Config.py模块中的才会初始化options()
并调用conf.take_action()
函数。