Ich will mir ein automatisches Passwort generieren lassen,
dafür will ich direkt auf die ASCII-Tabelle zugreifen, um mit Zahlen eine while-Schleife durchlaufen zu lassen, damit alle Zeichen (bis auf die Steuerzeichen) verwendet werden. Meine einzige gefundene Lösung wäre, binascii zu importieren und über binärzahlen die einzelnen Zeichen anzusprechen. Weil dieses aber etwas unsauber ist, suche ich nach einer anderen Methode. Hat von euch einer einen Einfall?
Nummern für Zahlen
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Was ein Zeichen ist, ist nicht umbedingt so ganz eindeutig. Im Normalfall willst Du wahrscheinlich sowas wie:
Das ganze kann man natürlich auch in einer expliziten For-Schleife schreiben, nicht mit einer Generator-Expression.
Und, unabhängig davon: pydoc string zeigt Dir noch ein paar mehr Zeichen-Klassen die in string definiert sind.
Code: Alles auswählen
from string import ascii_letters, digits
from random import randrange
items = ascii_letters + digits
itemslen, pwdlen = len(items), 10
pwd = "".join(items[randrange(itemslen)] for i in range(pwdlen))
print pwd
Und, unabhängig davon: pydoc string zeigt Dir noch ein paar mehr Zeichen-Klassen die in string definiert sind.
--- Heiko.
Danke!
Das habe ich gesucht, das sieht auch viel anspruchsvoller als meine binärversion aus!
Frage: Wie würde join(items[randrange(itemslen)] for i in range(pwdlen))
in der auseinandergezogenden Vaiante aussehen? Wann wird i näher definiert?
Das habe ich gesucht, das sieht auch viel anspruchsvoller als meine binärversion aus!
Frage: Wie würde join(items[randrange(itemslen)] for i in range(pwdlen))
in der auseinandergezogenden Vaiante aussehen? Wann wird i näher definiert?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Etwa so:murph hat geschrieben:Frage: Wie würde join(items[randrange(itemslen)] for i in range(pwdlen)) in der auseinandergezogenden Vaiante aussehen?
Code: Alles auswählen
pwd = ''
for i in range(pwdlen):
pwd += items[randrange(itemslen)]
Ist doch schon definiert, als Zahl welche range() ausgegeben hat.murph hat geschrieben:Wann wird i näher definiert?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das erkenne ich doch schon viel schneller!