Anfänger-Frage: Ordner-Strukur, Vermeidung von doppelten Code

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Blackbenji
User
Beiträge: 5
Registriert: Mittwoch 1. Juni 2016, 09:06

Hallo zusammen,

ich habe eine Frage zum Thema Ordner-Struktur und Vermeidung von doppelten Code.

Was ich möchte:
- Funktionen oder Klassen auslagern
- Vermeidung von Doppelten Code

Ordner Struktur:

Code: Alles auswählen

root /
root / __init__.py
root / func /
root / func / test.py
root / func / __init__.py
root / crawler /
root / crawler / __init__.py
root / crawler / demo.py
Meine Application ist hier demo.py im Ordner "/root/crawler/".
Von hier möchte ich auf "/root/func/test.py" zugreifen.

Nun scheine ich ein Fehler in meiner Überlegung zu haben:

Code: Alles auswählen

from .. import func.test
from ..func import test
import func.test
import ..func.test
Keiner dieser Importe funktioniert.
Was mache ich falsch?
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Relative Importe solltest du generell vermeiden, bisher habe ich noch nie auf einen relativen Import zurückgreifen müssen.

Wenn du eine Modul importieren willst musst du immer den gesamten Package-Pfad angeben, was in deinem Fall mit "root" zu beginnen scheint:

Code: Alles auswählen

import root.func.test
the more they change the more they stay the same
Blackbenji
User
Beiträge: 5
Registriert: Mittwoch 1. Juni 2016, 09:06

Dankeschön, das leuchtet mir nun ein, hat auch super funktioniert :)
Antworten