我有一个Python程序,其中一个函数导入另一个脚本并运行它。但是该脚本仅在第一次调用该函数时才运行。
def Open_Generator(event):
import PasswordGenerator
有什么提示吗?
*使用tkinter窗口中的按钮调用该功能
答案 0 :(得分:1)
这是设计使然。您只能导入一个模块一次。尝试多次导入一个模块将导致Python从缓存中重新获取该模块对象,但这不会导致该模块的代码第二次执行。
大多数设计良好的模块在导入时不会立即执行任何操作,或者至少不会执行任何明显可见的操作。通常,如果您希望某个模块正常工作,则需要调用其功能之一。
我猜您的PasswordGenerator
模块在文件级范围内有一些代码。换句话说,它具有不在函数内部的代码。尝试将代码移入函数。然后,您可以从Open_Generator
调用该函数。
import PasswordGenerator
def Open_Generator(event):
my_password = PasswordGenerator.generate_password()