Hallo Ich habe Probleme mit dem Importieren von Funktionen in meinen Modulen. Ich bekomme Fehler:Import Funktionen von Modulen zurück und Fort
NameError: name 'main_menu' is not defined
Ich habe 6 Module (Haupt, Menü, Benutzer, Bücher, Autos, etc.)
In meinem main.py I from menu import *
In meinem Menü haben Py ich habe:
from users import *
from books import *
Und jetzt, wenn ich versuche Funktion zu importieren main_menu() von menu.py zu meinem users.py Ich bekomme diesen Fehler.
Ich erinnerte mich, dass ich irgendwie Funktionen von Modulen nicht hin und her importieren kann. Aber wie kann ich anrufen main_menu() Funktion, die sich in menu.py befindet als?
Meine Frage ist wirklich, wie kann ich eine Funktion von einem anderen Modul importieren und aufrufen, wenn ich bereits alles aus meinem aktuellen Modul importiert habe?
EDIT:
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()
ERROR:
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
>>>
Der von Ihnen angegebene Fehler stimmt nicht mit den von Ihnen angegebenen Funktionsnamen überein. Bitte editiere und stelle ein [mcve] und einen Fehler bereit. – Julien
@JulienBernu ist es jetzt in Ordnung? – FrankieD
Anstatt zu sagen, dass ich das tue, dann mache ich das, bitte teilen Sie den Inhalt aller relevanten Skripte. Mit den wenigen Informationen, die Sie teilen, ist es schwer zu sagen, ob Sie nur einen Import vergessen oder ob dieser (vielleicht) fehlende Import einen Zirkelverweis erzeugt ... – Julien