Tach!
Üblicherweise kann man keine Variablen des einen Systems in einem anderen System verwenden. Üblicherweise kann man jedoch den Wert in der Variable aus einem System in ein anderes System geben.
Und wir würde das gehen?
Das war eine sehr allgemeine Aussage. Wie das konkret geht, kommt auf die jeweiligen Systeme und deren Möglichkeiten an. Generell ist es jedoch der Wert und nicht die Variable an sich, der übergeben werden muss. Das hört sich vielleicht nach Krümelkacken an, ist aber für das Verständnis wichtig. Du bekommst, um es mal mit deinen Worten zu sagen, nur dann "eine Variable anderenorts verwendet", wenn du deren Inhalt ausgibst (echo/print/o.ä.), ihn überträgst und am Ziel in eine dortige Variable bringst.
Du hast aber auch noch ein zeitliches Problem. Dein JavaScript läuft im Browser, wenn dein Python im Server bereits längst seine Arbeit abgeschlossen hat. Wenn du also im Server etwas mit dem Wert aus Javascript etwas anstellen willst, musst du einen neuen Request an den Server stellen.
Das zeitliche problem lässt sich doch relative einfach dadurch lösen, dass ich die Schleife erst aufrufen lasse, sobald die Javascriptfunktion aufgerufen wurder oder?
Nein, das bekommst du nicht hin, weil zuerst das Python-Script abgearbeitet wird und dann erst der Browser und Javascript zum Zuge kommt. Selbst wenn du in Betracht ziehst, dass die bereits fertiggestellten Teile der Ausgabe schon zum Client gesendet werden können - was jedoch oftmals nicht direkt geschieht sondern vom Webserver gepuffert wird, bis genügend Daten für ein Paket zusammengekommen sind - und der Client schon mit der Verarbeitung (Rendern) anfagen kann, nützt dir das nichts, weil die Übertragung eine Einbahnstraße ist. Der Request geht in die vom Client zum Server, wenn der fertg übertragen ist, wird er abgearbeitet und die Response geht wieder zurück. Mehr Datenverkehr ist nicht vorgesehen. Neue daten vom Client zum Server brauchen einen neuen Request - und zu diesem startet der Webserver üblicherweise eine komplett gekapselte und neue Abarbeitung.
Für bidirektionale Kommunikation kannst du WebSocket nehmen, aber das erfordert ein anderes Vorgehen, ist vermutlich mehr als du brauchst und helfen kann ich dir dabei mangels Erfahrung auch nicht.
dedlfix.