Wie verbinde mehrer Files in Python miteinander?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Angenommen, du hast ein Skript a.py und ein Skript b.py in einem Ordner. Dann kannst du die Elemente aus b.py in a.py folgendermaßen importieren:

import b

Dazu ein konkreteres Beispiel:

a.py:

import b

b.say_something()

b.py:

def say_something():
  print("Hello")

Ebenso könntest du gezielt Elemente von b.py importieren:

from b import say_something

say_something()

Um über diese Syntax alle Elemente auf einmal zu importieren, kann man ein Sternchen * angeben. Da so etwas schnell zu Namenskollisionen führen kann (Bsp.: zwei Dateien werden importiert, die eine gleichnamige Funktion beinhalten), empfiehlt es sich jedoch, diesen Weg eher zu meiden.

Wenn du ein Skript aus einem anderen Verzeichnis heraus importieren möchtest, kannst du die Dot-Notation verwenden. Kennzeichne das Verzeichnis, in dem die Datei liegt, zunächst als Package, indem du eine leere __init__.py-Datei in ihm erstellst.

Beispiel mit folgender Dateistruktur:

./a.py
./subfolder/b.py
./subfolder/__init__.py

a.py:

from subfolder.b import say_something

say_something()
APPLE854 
Fragesteller
 21.02.2023, 08:49

habe die erste Methode angewendet, jedoch kommt eine Fehlermeldung „No Module Named ‚b‘

0
regex9  21.02.2023, 09:42
@APPLE854

Liegt deine b.py-Datei im selben Verzeichnis wie die Datei, in der du versuchst, das Skript zu importieren?

0
APPLE854 
Fragesteller
 21.02.2023, 16:58
@regex9

Beide Dateien sind im selben Ordner gespeichert

0