Module aus verschachtelten Ordnern importieren
Das Importieren von Dateien aus verschiedenen Ordnern innerhalb eines Projekts kann in Python eine Herausforderung sein. Lassen Sie uns ein Szenario und seine Lösung untersuchen.
Frage:
Bedenken Sie die folgende Ordnerstruktur:
application ├── app │ └── folder │ └── file.py └── app2 └── some_folder └── some_file.py
Wie können Sie eine Funktion mit dem Namen importieren func_name von file.py in some_file.py?
Antwort:
Der typische Ansatz der Verwendung von „from application.app.folder.file import func_name“ funktioniert nicht. Dies liegt daran, dass der Standard-Importsuchpfad von Python keine Unterverzeichnisse enthält.
Lösung:
Um diese Einschränkung zu umgehen, können Sie den Python-Suchpfad zur Laufzeit durch Hinzufügen ändern das gewünschte Verzeichnis in sys.path, bevor Sie das Modul importieren. Hier ist ein Beispiel in some_file.py:
import sys # Caution: path[0] is reserved for the script path or '' in REPL sys.path.insert(1, '/path/to/application/app/folder') import file
Dadurch können Sie über das importierte Modul auf die Funktion zugreifen als:
file.func_name()
Hinweis:
Dieser Ansatz ist für sehr spezifische Szenarien gedacht. Typischerweise ist die Strukturierung Ihres Codes in Pakete eine bevorzugtere Lösung für Modularität und Wartbarkeit.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Modul aus einem verschachtelten Ordner in Python importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!