我有一个 Python 程序,其中一个函数导入另一个脚本并运行它。但是该脚本仅在第一次调用该函数时运行。
def Open_Generator(event):
import PasswordGenerator
有小费吗?
*使用 tkinter 窗口中的按钮调用该函数
我有一个 Python 程序,其中一个函数导入另一个脚本并运行它。但是该脚本仅在第一次调用该函数时运行。
def Open_Generator(event):
import PasswordGenerator
有小费吗?
*使用 tkinter 窗口中的按钮调用该函数
这是设计使然。您应该只导入一次模块。尝试多次导入模块将导致 Python 从缓存中重新获取模块对象,但这不会导致模块的代码再次执行。
大多数设计良好的模块在您导入它们时不会立即执行任何操作,或者至少不会执行任何明显可见的操作。一般来说,如果你想让一个模块工作,你需要调用它的一个函数。
我猜你的PasswordGenerator
模块在文件级范围内有一些代码。换句话说,它有不在函数内部的代码。尝试将该代码移动到一个函数中。然后你可以从Open_Generator
.
import PasswordGenerator
def Open_Generator(event):
my_password = PasswordGenerator.generate_password()