Wie verbinde mehrer Files in Python miteinander?
Hallo. Ich habe meinen Code in Spyder geschrieben. Jetzt will ich jedoch ein zweiten file benutzen, wo ich den Code weiterschreiben will. Ich will jetzt nicht alles kopieren und einfügen, gibt es eine Möglichkeit, die Packages und auch die einzelnen dataframes automatisch zu übernehmen? Danke
1 Antwort
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()
habe die erste Methode angewendet, jedoch kommt eine Fehlermeldung „No Module Named ‚b‘