Python Wert zu einem anderen Skript übergeben?

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
DerAffelul 
Fragesteller
 04.11.2022, 19:35

Ich bekomme den Error: AttributeError: Partially initialized module “skript2” has no attribute “my_func” (most likely due to a circular import)

0
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

1
DerAffelul 
Fragesteller
 04.11.2022, 20:41
@R4c1ngCube

fühle dich gedrückt, jetzt hat alles perfekt funktioniert danke danke danke <3

0

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.