Heim  >  Artikel  >  Backend-Entwicklung  >  Verschachtelte Verzeichnisse und Klassen in Python-Bibliotheken

Verschachtelte Verzeichnisse und Klassen in Python-Bibliotheken

WBOY
WBOYnach vorne
2024-02-06 11:36:141201Durchsuche

python 库中的嵌套目录和类

Frageninhalt

Effizienter Import

In dieser Bibliothek, die ich erstelle, gibt es mehrere verschachtelte Verzeichnisse. Einige verschachtelte Verzeichnisse haben keine Dateien, andere jedoch nicht, oder jedes Verzeichnis verfügt über eine oder mehrere Klassendateien.

Die Bibliothek ist grundsätzlich aus einer anderen Sprache portiert und ich muss die Struktur beibehalten.

Ich suche nach Codeorganisation und Modulzugriff ohne Duplizierung in Importanweisungen

mylib
├── foo
│   ├── bar
│      └── baz.py (class baz) 
├
test
    ── foo
       ├── bar
           ── test_baz.py

Das Problem, das ich habe, ist die Duplizierung in der Importanweisung

from mylib.foo.bar.baz 导入 baz

Gibt es eine Möglichkeit zu vermeiden, dass .baz in Importanweisungen erscheint?

Versucht (ohne wirklichen Erfolg)

In der __init__-Datei habe ich es ohne wirkliche Wirkung versucht.

import baz.baz import Baz

__all__ = [
  "Baz"
]

Richtige Antwort


Du findest sie unter mylib/foo/bar/__init__.py 中使用 from .baz import Baz.

Das obige ist der detaillierte Inhalt vonVerschachtelte Verzeichnisse und Klassen in Python-Bibliotheken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen