Objekt Attribut in Datei speichern
Verfasst: Donnerstag 17. Oktober 2013, 14:22
Guten Tag,
ich habe mal wieder ein Problem. Ich habe ein Objekt angelegt und die Attribute werden auch Ordnungsgemäß befüllt.
Auch ein abruf mit der print Funktion funktioniert einwandfrei.
Jetzt muss ich diese Daten in eine Datei schreiben. Das funktioniert bereits mit dem Großteil der Objekten fehlerfrei.
Bei einem Attribut habe ich allerdings noch Probleme.
Eigentlich sollten an dieser Stelle Mailadressen stehen, leider ist dieser Teil eine Sammlung verschiedener Einträge.
Als Beispiel stehen dort Dinge wie:
mit einer einfachen print Anweisung können alle Inhalte ausgegeben werden
sobald ich diesen Inhalt in eine Datei schreibe, bekomme ich einige Fehler. Da ich selbst schon versucht habe dieses Problem zu lösen. Werde ich an dieser Stelle mal meine " Lösungsversuche" hier mit Fehlermeldung online Stellen.
Versuch 1:
Die Fehlermeldung dabei lautet TypeError: expected a character buffer object
also habe ich versucht dieses in einen String zu bringen.
Dabei kam folgende Fehlermeldung UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 1:
ordinal not in range(128)
Also dachte ich mir wieder eine encode Geschichte (Da hatte ich euch schon vor ein paar Tagen mit belästigt) .
Jetzt habe ich das versucht mit try abzufangen
Auch kein Erfolg. Ihr könnt mir jetzt ja mal einen Tip geben warum das nicht funktioniert. Ich da ich - wie man sicherlich sieht- noch ein blutiger Anfänger bin, sagt mir bitte ganz deutlich was ich verkehrt gemacht habe und wo meine Lösungsansätze mist sind! Ich bedanke mich auch jetzt schon im Vorfeld für gut gemeinte Kritik!
Danke! Kruphi
ich habe mal wieder ein Problem. Ich habe ein Objekt angelegt und die Attribute werden auch Ordnungsgemäß befüllt.
Auch ein abruf mit der print Funktion funktioniert einwandfrei.
Jetzt muss ich diese Daten in eine Datei schreiben. Das funktioniert bereits mit dem Großteil der Objekten fehlerfrei.
Bei einem Attribut habe ich allerdings noch Probleme.
Eigentlich sollten an dieser Stelle Mailadressen stehen, leider ist dieser Teil eine Sammlung verschiedener Einträge.
Als Beispiel stehen dort Dinge wie:
mit einer einfachen print Anweisung können alle Inhalte ausgegeben werden
Code: Alles auswählen
for person in personen:
print personen[person].mail
Versuch 1:
Code: Alles auswählen
for person in allePersonen:
fobj = open(("datei.txt"), "w")
fobj.write(allePersonen[person].mail)
fobj.close()
also habe ich versucht dieses in einen String zu bringen.
Code: Alles auswählen
for person in allePersonen:
fobj = open(("datei.txt"), "w")
fobj.write(str(allePersonen[person].mail))
fobj.close()
ordinal not in range(128)
Also dachte ich mir wieder eine encode Geschichte (Da hatte ich euch schon vor ein paar Tagen mit belästigt) .
Code: Alles auswählen
for person in allePersonen:
fobj = open(("datei.txt"), "w")
fobj.write(str(allePersonen[person].mail).encode("utf-8"))
fobj.close()
Code: Alles auswählen
def mail(mail):
try:
return str(mail)
except:
return None
Danke! Kruphi