функция в модуле не найдена Python
В одной директории у меня располагаются основной файл Edit.py и модуль с названием control.py.
Edit.py - это Tkinter приложение, в него я импортировал модуль control.py import control. В этом модуле находятся функции которые работают переменными из Edit.py.
В коде моего Edit.py я делаю бинд клавиш, вызывающих определенные функции из модуля.
root.bind("<Control-KeyPress-o>", control.main(open()))
В control.py я добавил функцию main в которой находиться функция open, которую я попробовал вызвать, но у меня в терминале вышла ошибка говорящая что функция open не найдена:
File "Edit.py", line 558, in <module>
window.bind("<Control-KeyPress-o>", control.main(open()))
NameError: name 'open' is not defined
Вот содержание моего модуля
def main(*args):
def open():
with open('./local/session.json', 'r', encoding='utf-8') as f:
SessionJson = json.load(f)
class_file.file_open = askopenfilename(defaultextension=".txt", filetypes=[("All Files", "*.*")])
if class_file.file_open is not None and class_file.file_open != '':
window.title(os.path.basename(class_file.file_open) + " - Editor")
Textedit.delete(1.0, END)
class_file.file = open(class_file.file_open, "r")
Textedit.insert(1.0, class_file.file.read())
class_file.file.close()
check_file_extension()
# Load a last file to Json
SessionJson['file'] = str(class_file.file_open)
with open('./local/session.json','w') as f:
json.dump(SessionJson ,f)
Под функцией open находятся другие, подобные ней.
Интересно что если добавить в Edit.py эту функцию open, то все выполниться как надо. Может это связано с тем как импортируется мой модуль. Почему выходит эта ошибка, и как ее можно исправить?