Привет У меня проблема с функциями импорта в моих модулях. Я получаю сообщение об ошибке:Импорт функций из модулей назад и форта
NameError: name 'main_menu' is not defined
У меня есть 6 модулей (основные, меню, пользователи, книги, автомобили и т.д.)
В моем main.py Я имею from menu import *
В моем меню .py у меня есть:
from users import *
from books import *
И теперь, когда я пытаюсь импортировать функцию main_menu() от menu.py к моему users.py Я получаю эту ошибку.
Я помню, что каким-то образом я не могу импортировать функции из модулей. Но как я могу позвонить main_menu() функция, которая находится в menu.py чем?
Мой вопрос в том, как я могу импортировать и вызывать функцию из другого модуля, если я уже импортировал все из моего текущего модуля?
РЕДАКТИРОВАТЬ:
main.py
from menu import *
def login():
x = str(input("Username:"))
y = str(input("Password:"))
if x == "admin" and y == "admin":
main_menu()
else:
print('Wrong!')
login()
menu.py
from users import *
def main_menu():
print("Welcome to main menu:")
option = str(input("Enter option: "))
if option == '1':
all_users()
users.py
from menu import *
def all_users():
allusers = ["Mike", "John", "Nick"]
print(allusers)
backtomenu = str(input("Back to main menu: (Y/N) "))
if backtomenu == "Y":
main_menu()
elif backtomenu == "N":
quit()
ОШИБКА:
Username:admin
Password:admin
Welcome to main menu:
Enter option: 1
['Mike', 'John', 'Nick']
Back to main menu: (Y/N) Y
Traceback (most recent call last):
File "C:\Users\Sm\Desktop\ss\main.py", line 13, in <module>
login()
File "C:\Users\Sm\Desktop\ss\main.py", line 10, in login
main_menu()
File "C:\Users\Sm\Desktop\ss\menu.py", line 7, in main_menu
all_users()
File "C:\Users\Sm\Desktop\ss\users.py", line 8, in all_users
main_menu()
NameError: name 'main_menu' is not defined
>>>
Предоставленная вами ошибка не соответствует указанным именам функций. Пожалуйста, отредактируйте и предоставите [mcve] и ошибку. – Julien
@JulienBernu теперь все в порядке? – FrankieD
Вместо того, чтобы говорить, что я это делаю, я делаю это, пожалуйста, поделитесь содержимым всех соответствующих сценариев. С небольшой информацией, которую вы делитесь, сложно сказать, если вы просто забываете об импорте или если этот (возможно) недостающий импорт создаст циклическую ссылку ... – Julien