Verschachtelte Verzeichnisse und Klassen in Python-Bibliotheken

WBOY
Freigeben: 2024-02-06 11:36:14
nach vorne
1185 Leute haben es durchsucht

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
Nach dem Login kopieren

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"
]
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!