Как запустить скрипт с функцией?(несколько раз) - PullRequest
0 голосов
/ 26 февраля 2019

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

def Open_Generator(event): import PasswordGenerator

Любые советы?

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

1 Ответ

0 голосов
/ 26 февраля 2019

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

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

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

import PasswordGenerator

def Open_Generator(event):
    my_password = PasswordGenerator.generate_password()
...