Wie man eine Zeichenfolge von Ganzzahlen und Buchstaben aus einer for-Schleife anzeigt

Ich versuche, einen acht-Zeichen-Schlüssel zu erstellen, indem ich 8 zufällige Zahlen zwischen 33 und 126 generiere und dann jede der 8 Zahlen in ein ASCII-Zeichen umwandle. Ich habe das alles machen können:

print('Eight-Character Key: ') for i in range(0,8): key = random.randint(33,126) key = chr(key) print(key,end='') 

Die Ausgabe ist:

  • Filtern Sie den Befehl aus, der ein Terminal im Python-Unterprozessmodul benötigt
  • Führen Sie Befehl aus und erhalten Sie seine Stdout, Stderr separat in der Nähe von Echtzeit wie in einem Terminal
  • Terminal, das nach dem Ausführen des Python-Skripts (keine neuen Zeilen) angezeigt wird
  • Kannst du dich gut verraten und stdout und stderr getrennt?
  • Ermöglicht tty in einer ssh-session
  • Es ist nicht möglich, Superuser in Django zu erstellen, da es nicht in TTY funktioniert
  •  Eight-Character Key: BAU78)E) 

    Aber im Idealfall möchte ich, dass es alles auf der gleichen Linie ist:

     Eight-Character Key: BAU78) E) 

  • So importiere ich Standardbibliothek anstelle des gleichnamigen Moduls im Modulpfad
  • Python Fibonacci Generator
  • Python: Wie Batch umbenennen gemischte Fall zu Kleinbuchstaben mit Unterstrichen
  • Underscore _ als Variablenname in Python [Duplikat]
  • Was ist der Zweck der einzelnen Unterstrich "_" Variable in Python?
  • 2 Solutions collect form web for “Wie man eine Zeichenfolge von Ganzzahlen und Buchstaben aus einer for-Schleife anzeigt”

    Setzen Sie das end nach der ersten print

     print('Eight-Character Key: ',end='') for i in range(0,8): key = random.randint(33,126) key = chr(key) print(key,end='') 

    Weitere Möglichkeiten, es zu tun – indem Sie den Schlüssel an einen String anhängen und dann print

     k = '' for i in range(0,8): key = random.randint(33,126) k += chr(key) print('Eight-Character Key: ',k,end='') 

    Die offensichtliche Lösung, wie Sie wissen, wie man den Endparameter der print() Funktion verwendet:

     print('Eight-Character Key: ', end='') # ^^^^^^ # no end-of-line after that for i in range(0,8): key = random.randint(33,126) key = chr(key) print(key, end='') print() # ^^^^^ # end of line 

    Und für eine "pythonische" Art, das zu tun:

     passwd = (chr(random.randint(33,126)) for _ in range(8)) print('Eight-Character Key:', "".join(passwd)) 

    Bitte beachten Sie jedoch, was auch immer Ihre Art zu tun ist, ist es nicht sehr sicher, da Python keine niedrige Kontrolle über das Gedächtnis hat. So kann das generierte Passwort aus dem Speicher-Dump zugänglich sein (siehe hier für eine mögliche Problemumgehung). Darüber hinaus, da das Passwort wahrscheinlich auf der Konsole angezeigt wird, gibt es potenziell viele Kopien auf dieses Passwort in den Haufen der verschiedenen Prozess beteiligt auch.

    Python ist die beste Programmiersprache der Welt.