Python Wert zu einem anderen Skript übergeben?
Hey 👋
Ich möchte vom skript1.py eine Funktion im skript2.py aufrufen. Daraufhin soll mir ein Wert von skript2.py zu Skript1.py übergeben werden
Wie kann man das machen?
2 Antworten
values.py:
my_var = 0
skript1.py:
import skript2 as s2
import values
if __name__ == "__main__":
s2.my_func()
print(values.my_var)
skript2.py:
import values
def my_func():
values.my_var = 10
R4c1ngCube
04.11.2022, 20:28
@DerAffelul
Ah, ja daran hätte ich denken müssen.
Es funktioniert in dem Zustand schon, wenn man skript2 statt skript1 ausführt.
Circular imports verhalten sich in Python ungewöhnlich.
Ich passe den Code entsprechend an
@R4c1ngCube
fühle dich gedrückt, jetzt hat alles perfekt funktioniert danke danke danke <3
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Linux, Programmiersprache, Python
In einem ordentlichen Entwurf würdest Du aus Skript2 ein Modul machen und dieses einfach importieren.
Sonst bleibt Dir nur das zweite Skript als Prozess zu starten.
Ich bekomme den Error: AttributeError: Partially initialized module “skript2” has no attribute “my_func” (most likely due to a circular import)