Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Funktionen aus verschachtelten Ordnern in Python importieren?

Wie kann ich Funktionen aus verschachtelten Ordnern in Python importieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 19:57:11359Durchsuche

How Can I Import Functions from Nested Folders in Python?

Module aus verschachtelten Ordnern importieren

Funktion aus einem anderen Ordner importieren

Stellen Sie sich eine Dateistruktur mit verschachtelten Ordnern wie folgt vor:

application
├── app
│   └── folder
│       └── file.py
└── app2
    └── some_folder
        └── some_file.py

Um eine Funktion aus file.py in some_file.py zu importieren, verwenden Sie einfach from application.app.folder.file import func_name funktioniert nicht. Dies liegt daran, dass sich der Suchpfad von Python nicht auf den Unterordner erstreckt.

Lösung

Um diese Einschränkung zu umgehen, können Sie den Suchpfad von Python vorübergehend ändern, indem Sie den Pfad des gewünschten Ordners einfügen:

# some_file.py
import sys
sys.path.insert(1, '/path/to/application/app/folder')

import file

Dadurch wird /path/to/application/app/folder zum Suchpfad hinzugefügt, sodass Sie die Funktion func_name importieren können file.py.

Hinweis

Diese Lösung wird nicht für den allgemeinen Gebrauch empfohlen, da sie zu pfadbezogenen Problemen führen kann. Für ein optimales Importverhalten ist es normalerweise besser, Ihren Code in Paketen zu organisieren und diese korrekt zu installieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Funktionen aus verschachtelten Ordnern in Python importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn