Seite 1 von 1

Script neu starten

Verfasst: Freitag 1. Februar 2008, 14:02
von King
Hallo, kann mir jemand sagen, wie ich ein aufgerufene Script neu aufrufen kann? Wollte das in eine if-Funktion einbauen.

Verfasst: Freitag 1. Februar 2008, 14:13
von BlackJack
So generell kann man die Frage nicht beantworten. Wie sieht der Anwendungsfall denn im Detail aus?

``if`` ist übrigens keine Funktion.

Verfasst: Freitag 1. Februar 2008, 14:28
von King
sry habe gerade gemerkt, dass ich einen Fehler gemacht habe...
Mein eigentliches Problem.

Das ist der Code, der die Session vergibt.

Code: Alles auswählen

letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' #Zeichen die verwendet werden sollen um die Session zu generieren
    session = random.sample(letters, 20)
    session = string.join(session, "")

Ich habe ihm in einem anderen Teil gesagt, das er in einem angelegten Ordner eine Datei mit dem Namen der generierten Session erstellen soll(immer wenn das Formular aufgerufen wird, der Inhalt ist dann jeweils der Sicherheitscode).

Jetzt will ich ihm irgendwie klar machen, dass wenn er eine Session kreirt die es durch zufall schon als Datei in dem Ordner gibt, eine neue ausgeben soll.

Hoffe das war einigermaßen verständlich :roll:

Verfasst: Freitag 1. Februar 2008, 14:58
von Leonidas
King hat geschrieben:Jetzt will ich ihm irgendwie klar machen, dass wenn er eine Session kreirt die es durch zufall schon als Datei in dem Ordner gibt, eine neue ausgeben soll.
`while`-Schleifen existieren. Da brauchst du keine Rekursion. Und schon gar keine sich rekursiv aufrufenden Programme.

Verfasst: Freitag 1. Februar 2008, 15:36
von BlackJack
Ansonsten kann man die Kollision verhindern, oder zumindest die Chance stark verringern, indem man die aktuelle Uhrzeit mit in den Sitzungs-Schlüssel einfliessen lässt.

Verfasst: Freitag 1. Februar 2008, 15:50
von King
Ich hab das ganze jetzt anders gelöst...

Code: Alles auswählen

pfad = 'session/'
    dateiname = session
    datei = pfad + dateiname
    
    if os.path.isfile(datei):
        getSessionID()
    else:    
        return session
Trotzdem danke für eure Tipps.

Verfasst: Freitag 1. Februar 2008, 20:17
von lunar
Wenn es hier um Webentwicklung geht: Frameworks existieren en masse.