Skript Neustarten ohne Schleifen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Domlla
User
Beiträge: 12
Registriert: Montag 16. August 2021, 16:49

Guten Abend,
gibt es einen Befehl der nach einer Eingabe das Skript von vorne beginnen lässt?
Quasi mit ja oder nein. Ich möchte aber keine Schleifen. Damit alle Listen quasi wieder leer sind.
Vielen Dank!
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Dafür sind Schleifen aber nun einmal da.
Ansonsten kann man das im Programm selbst natürlich nicht m,achen - denn wenn das Programm endet ist ja beendet. Dann kann das Programm selbst auch nicht mehr dafür sorgen, dass es neu startet.
Domlla
User
Beiträge: 12
Registriert: Montag 16. August 2021, 16:49

Hab eine Lösung gefunden.

import os
import sys
os.execl(sys.executable, sys.executable, *sys.argv)

Vielen Dank!
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist eine Lösung genauso wie das Haus abreißen und neu bauen eine Lösung für einen verschmutzten Boden ist.
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Damit das nicht als Lösung dastehen bleibt, hier die richtige Lösung:

Code: Alles auswählen

def mach_was_auch_immer():
    print("Ich arbeite.")

def main():
    while True:
        mach_was_auch_immer()
        if input("nochmal (j/n)?").lower() in ["n", "nein"]:
            break

if __name__ == "__main__":
    main()
Benutzeravatar
DeaD_EyE
User
Beiträge: 1012
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Domlla hat geschrieben: Mittwoch 15. September 2021, 20:28 Hab eine Lösung gefunden.

import os
import sys
os.execl(sys.executable, sys.executable, *sys.argv)

Vielen Dank!
Mach das so und irgendwann beißt dir das in den Hintern.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten