Как запустить скрипт с функцией? (несколько раз)

У меня есть программа на Python, где функция импортирует другой скрипт и запускает его. Но скрипт запускается только при первом вызове функции.

def Open_Generator(event): import PasswordGenerator

Какие-нибудь советы?

* Функция вызывается с помощью кнопки в окне tkinter

1 ответ

Это по замыслу. Вы должны импортировать модуль только один раз. Попытка импорта модуля более одного раза приведет к тому, что Python повторно извлечет объект модуля из кэша, но это не приведет к повторному выполнению кода модуля.

Большинство хорошо спроектированных модулей не будут делать что-либо сразу, когда вы их импортируете, или, по крайней мере, не будут делать ничего явно видимого. Как правило, если вы хотите, чтобы модуль работал, вам нужно вызвать одну из его функций.

Я угадываю твои PasswordGenerator Модуль имеет некоторый код в области уровня файла. Другими словами, у него есть код, которого нет внутри функции. Попробуйте переместить этот код в функцию. Затем вы можете вызвать эту функцию из Open_Generator,

import PasswordGenerator

def Open_Generator(event):
    my_password = PasswordGenerator.generate_password()
Другие вопросы по тегам