Variable von einem Python script an ein anderes übergeben und dieses unmittelbar im Hintergund ausführen?
Ich würde gerne 4 Variablen innerhalb eines Python scripts a.py an ein anderes python script b.py übermitteln. b.py benötigt die Variablen aus a.py um zu funktionieren. b.py soll an einem bestimmten Punkt in a.py im Hintergrund ausgeführt werden. Die Variablen aus a.py enstehen erst im Programmverlauf kurz bevor ich gerne b.py ausführen möchte, eine einfache import Anweisung funktioniert also nicht, da dann der code zur Ermittlung der Variablen aus a.py erneut ausgeführt würde und das zweite script ja auch nicht im Hintergrund liefe. Was kann ich also tun?
1 Antwort
Ich bin nicht sicher, ob ich durch diese mühsame Beschreibung ganz durchsteige. Schlicht und einfach als Parameter mitgeben? Ausführung dann eben mit subprocess.
KAnn ich quasie die variablen als Argumente innerhalb des subprocess befehls weitergeben und wenn ja wie bekomme ich das hin? Danke.
Erstmal Danke für die Antwort. Vielleicht hilft das nochmal zum Verständnis. Ich habe das gnaze mal vereinfacht dargestellt. also run_task wird aufgerufen wenn ich einen GUI Button drücke. Dabei werden 4 Variablen gesetzt. Ich möchte jetzt quasie b.py beim drücken des Buttons ausführen, sodass die Vier Variablen an b.py übergeben werden.
a.py
import os
import sys
import subprocess
def run_task()
variable1 = 1
variable2 = 2
variable3 = 3
variable4 = 4
subprocess.Popen([sys.executable, 'b.py'])
b.py
print(variable1)
print(variable2)
print(variable3)
print(variable4)