AttributeError: 'module' object has no attribute
Beim Ausführen des Python-Moduls a.py mit gegenseitigen Importen auf oberster Ebene tritt Folgendes auf: der Fehler „AttributeError: ‚module‘ object has no attribute ‚hi‘“. Dieser Fehler tritt aufgrund einer problematischen Einrichtung in den Importanweisungen beider Module auf.
In a.py importieren Sie Modul b und rufen seine Funktion hi() auf. In der referenzierten b.py gibt es jedoch kein hi-Attribut. Dies führt zu dem Fehler, der darauf hinweist, dass auf die Funktion hi() von b aus im Kontext von a nicht zugegriffen werden kann.
Um dieses Problem zu beheben, ist es im Allgemeinen nicht ratsam, solche gegenseitigen Importe auf oberster Ebene durchzuführen. Erwägen Sie stattdessen den Import von Modulen innerhalb von Funktionen wie folgt:
# In b.py:
def cause_a_to_do_something():
import a
a.do_something()
Indem Sie den Import innerhalb einer Funktion in b.py kapseln, ermöglichen Sie a.py, b sicher zu importieren, ohne den Fehler auszulösen. Darüber hinaus stellt dieser Ansatz sicher, dass der Importvorgang nur einmal erfolgt, obwohl die Funktion mehrmals aufgerufen wird.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3