Nach den docs, wenn Sie ein Nicht-String-Objekt zu sys.ps1
zuweisen, dann wird es die str
Funktion den es jedes Mal bewerten:
Wenn ein Nicht-String-Objekt Wird einer der Variablen zugewiesen, wird str() jedes Mal neu ausgewertet, wenn der Interpreter sich darauf vorbereitet, einen neuen interaktiven Befehl zu lesen; Dies kann verwendet werden, um eine dynamische Eingabeaufforderung zu implementieren.
Nun, jetzt ist es offensichtlich, Sie sollten es dynamisch machen! Machen Sie ein Objekt mit einem __str__
Methode, wo Sie jede Logik setzen, können Sie wollen:
class Prompt:
def __str__(self):
# Logic to randomly determine string
return string
Sie können auch Änderungen vornehmen oder die Dinge in dieser Klasse einfügen, wie Sie zu gehen. So könnten Sie beispielsweise eine Liste von Nachrichten in Prompt
haben, an die Sie eine Nachricht anhängen oder ändern, und die sich auf die Konsolennachricht auswirkt.
So stellen Sie sicher, dass Sie es vor, Fragen zu stellen, die Sitzungen sind Dolmetscher ... – jonrsharpe
@jonrsharpe * „Warum mein Dolmetscher ist kein tobbaconist!?“ Ändern zurück * – SuperBiasedMan
Im Gegenteil, ich glaube, darum, die Fragen heraus stehen noch mehr durch die Verwendung von Farben in der Eingabeaufforderung (zB sys.ps1 = '\ 033 [01; 31mwas? >>> \ 033 [00m') – mircealungu