Seite 1 von 1
Variablenname auslesen
Verfasst: Samstag 17. Oktober 2009, 19:07
von anogayales
Hallo Community,
ich mach es knapp:
Gibt es eine Möglichkeit so etwas zu machen:
Code: Alles auswählen
test = irgendeinobjekt
result = gesuchtefunktion(test)
print result // Ausgabe: "test"
print type(result) // Ausgabe "<type 'str'>"
Sprich, ich will verhindern, sachen doppelt zu schreiben, wenn der Variablennamen eigentlich schon ausreicht.
Sowas will ich verhindern:
Vielen Dank!
Verfasst: Samstag 17. Oktober 2009, 19:19
von cofi
Ich mach es auch knapp: Nein, kann man nicht.
Ein Objekt kann an mehrere Namen gebunden werden, deshalb ist das auch kein sinnvoller Weg.
Was willt du eigtl erreichen?
Verfasst: Samstag 17. Oktober 2009, 19:19
von pillmuncher
Suchst du vielleicht
das hier?
Verfasst: Samstag 17. Oktober 2009, 19:26
von anogayales
Also was ich erreichen will ist folgedens:
Ich habe eine Liste, die ich in eine Datei schreiben will. Die Datei brauch natürlich einen Dateinamen. Dieser wird aber durch den Variablennamen bereits ausreichend betituliert.
Also so was wie:
Code: Alles auswählen
ergebnis005 = [ liste ] #liste mit den datensätze die ich rausschreiben will
erzeugedatei(ergebnis005) #schreibt das ergebnis in eine datei
Dieser Code soll die datei "ergebnis005.txt" erzeugen.
So, nun wäre es nicht sonderlich pythonic nochmal sowas wie
,
da ja der Variablenname bereits genug über die Datei aussagt.
Versteht ihr mich?
Verfasst: Samstag 17. Oktober 2009, 19:31
von cofi
Nein, es waere nicht `pythonic`, denn "Explicit is better than implicit".
Aber wenn du denn unbedingt so etwas machen willst, solltest du ein Dictionary benutzen.
Verfasst: Samstag 17. Oktober 2009, 19:31
von lunar
cofi hat geschrieben:Ich mach es auch knapp: Nein, kann man nicht.
Kann man doch.
Nutzen sollte man das selbstverständlich nicht.
Verfasst: Samstag 17. Oktober 2009, 19:38
von anogayales
Kurzum, ich würdes also auch
createfile(guternamefuerdatei,"guternamefuerdatei")
schreiben
oder gleich die Struktur der Liste wie cofi gesagt hat in ein Dictionary packen?
Verfasst: Samstag 17. Oktober 2009, 20:42
von EyDu
Und warum schreibst du nicht einfach
Code: Alles auswählen
guter_name_fuer_datei = create_file("guter_name", daten)
? So wie ich das sehe, möchtest du nur eine Datei erzeugen. Willst du viele Namen haben, dann ist ein Dictionary der richtige Weg.
Verfasst: Montag 19. Oktober 2009, 07:34
von bwbg
anogayales hat geschrieben:
(...)
Code: Alles auswählen
ergebnis005 = [ liste ] #liste mit den datensätze die ich rausschreiben will
erzeugedatei(ergebnis005) #schreibt das ergebnis in eine datei
(...)
Versteht ihr mich?
Ja, aber keine gute Idee. Wenn man anfängt, Variablen durch zu nummerieren, dann spricht schon vieles für eine Liste. Meine spontane Idee:
Code: Alles auswählen
>>> ergebnisse = []
>>> ergebnisse.append([1, 2, 3, 4, 5, 6, 7])
>>> ergebnisse.append(['Hallo', 'Welt', '!'])
>>> ergebnisse.append(['mixed', 1, 2, 3])
>>> for index, value in enumerate(ergebnisse):
... filename = 'ergebnis{0}.txt'.format(index)
... print 'Schreibe: {0} in Datei {1}'.format(value, filename)
...
Schreibe: [1, 2, 3, 4, 5, 6, 7] in Datei ergebnis0.txt
Schreibe: ['Hallo', 'Welt', '!'] in Datei ergebnis1.txt
Schreibe: ['mixed', 1, 2, 3] in Datei ergebnis2.txt
Grüße... Heiko