Ich habe ein Verzeichnis in meinem Python 3.3-Projekt namens/models.Wie importiere ich die Python-Klassendatei aus demselben Verzeichnis?
von meinem main.py ich einfach eine
from models import *
in meinem __init__.py
__all__ = ["Engine","EngineModule","Finding","Mapping","Rule","RuleSet"]
from models.engine import Engine,EngineModule
from models.finding import Finding
from models.mapping import Mapping
from models.rule import Rule
from models.ruleset import RuleSet
Diese aus meiner Anwendung funktioniert gut.
Ich habe ein Modell, das auf einem anderen Modell abhängt, so dass in meinem engine.py muss ich finding.py
in engine.py importieren, wenn ich das tue: from finding import Finding
erhalte ich die Fehler No Such Module exists
Wie kann ich Klasse B aus der Datei A im selben Modul/Verzeichnis importieren?
Edit 1: Anscheinend kann ich tun: from .finding import Finding
und das funktioniert. Und die Antwort unten spiegelt das ebenfalls wider, also denke ich, dass das einigermaßen korrekt ist. Ich habe meine Dateibenennung korrigiert und meine Tests in ein anderes Verzeichnis verschoben und ich laufe jetzt reibungslos. Vielen Dank!
Welche Version von Python verwenden Sie? – geoffspear
Ich benutze Python 3.3 – Yablargo
Python 3 erlaubt keine impliziten relativen Importe. – geoffspear