Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Funktionen aus separaten Verzeichnissen in Python importieren?

Wie kann ich Funktionen aus separaten Verzeichnissen in Python importieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-30 11:55:08595Durchsuche

How Can I Import Functions from Separate Directories in Python?

Dateien aus separaten Verzeichnissen importieren

Beim Bearbeiten von Dateien aus verschiedenen Ordnern kann es schwierig sein, Funktionen aus einer Datei in eine andere zu importieren. Dies tritt in verschiedenen Verzeichnisstrukturen auf, die häufig verschachtelte Ordner und mehrere Dateien umfassen.

Betrachten Sie die folgende Verzeichnisstruktur:

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

Wie kann man in diesem Szenario eine Funktion importieren (z. B. func_name) in file.py aus some_file.py definiert? Auch wenn die intuitive Methode „From application.app.folder.file import func_name“ plausibel erscheint, führt sie häufig zu Fehlern.

Standardmäßig untersucht Python nur das Verzeichnis, in dem sich das Einstiegspunktskript befindet (dasjenige, das ausgeführt wird). befindet sich und der sys.path, der den Pfad zur Paketinstallation enthält. Wenn sich die erforderliche Datei außerhalb dieser Speicherorte befindet, schlägt der Import fehl.

Es ist jedoch möglich, den Suchpfad von Python dynamisch zu erweitern:

# some_file.py
import sys

# appending search path
sys.path.insert(1, '/path/to/application/app/folder')

# importing file and function
import file
func_name()

Indem Sie das Verzeichnis mit der Datei „file.py“ einfügen Nachdem Sie den Suchpfad eingegeben haben, kann Python ihn nun erfolgreich importieren. Dieser Ansatz ermöglicht eine flexible Handhabung von Dateien über verschiedene Verzeichnisse hinweg und ist somit eine wertvolle Lösung bei der Arbeit mit getrennten Dateistrukturen.

Das obige ist der detaillierte Inhalt vonWie kann ich Funktionen aus separaten Verzeichnissen 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