example.pyWie kann ich Benutzern erlauben, Variablen und andere Datenstrukturen per Eingabe zu referenzieren?
dumpVar = ['a','b','c','d','e','f','g']
def examineVar():
container = input('Which var would you like to examine? ')
for i in range (len(container)):
print(container[i])
.
Python 3.5 (32-Bit)
>>> exec(open(r'c:\users\me\desktop\code\example.py').read())
>>> examineVar()
Which variable would you like to examine? _
.
die Ist hier hinunterlaufen --I eine Py-Datei 'Beispiel' genannt haben, dass ich aus der laufenden Interpreter, um eine Codeumgebung zu laden, mit der ich arbeiten kann. Diese spezielle Umgebung enthält ein einzelnes Array (bereits bestückt) und eine einzelne Funktion, die mit einigen grundlegenden Befehlen ausgestattet ist, die Informationen über die Eingabe jeweils um eine Zeile zurückgeben sollen.
Ich möchte den Variablennamen eingeben, den ich mit dem Skript erstellt habe, und die Funktion handle, die den Inhalt druckt.
Ich realisiere, ich könnte genauso einfach tun >>> dumpVar
, um das Array in einer Zeile angezeigt zu sehen - aber ich versuche herauszufinden, wie man geht ... Ich denke, Meta-Informationen ... bis zum Interpreter über Benutzereingabe. Wenn das irgendeinen Sinn ergibt.
Wie auch immer, ich habe versucht, exec()
zu verwenden, aber überall, wo ich es in der Funktion platziert neigt dazu, Ausnahmen zu erzeugen, und das einzige Mal, dass es keine Ausnahme erzeugte, druckte es nur ein Zeichen von dumpVar
auf einmal, Erstellen Sie jedes Mal eine neue Zeile (die neue Zeile ist natürlich das gewünschte Verhalten).
Also, wie kann ich meine Funktion ändern, um den Inhalt meiner Variablen zu produzieren, anstatt die Zeichen meiner Eingabezeichenfolge?
Ich dachte, das war die Antwort nach dem Nachschlagen von list() in den Python-Dokumenten, aber wenn ich es versuchte, erzeugte es 'dump V ar' wieder, wobei die Leerzeichen in diesem Kommentar neue Zeilen im Interpreter darstellen. – Musixauce3000
Ich wusste zunächst nicht, was Sie vorhatten. Erwäge, ein Wörterbuch zu verwenden, ich werde meine Antwort aktualisieren. Um die neue Zeile beim Drucken zu entfernen, verwenden Sie 'print (object [, end =])' wo 'end =' is ''''. –
Die Funktion soll den Inhalt des vom Benutzer eingegebenen Variablennamens Zeile für Zeile zurückgeben. – Musixauce3000