Ergebnis wird nicht vollständig in eine Datei geschrieben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lena
User
Beiträge: 22
Registriert: Mittwoch 24. Juni 2015, 09:37

Code: Alles auswählen

def in_datei_drucken(dateiname):
    dictionary={"hallo":["hey","hi","hello", "tschüss":["ciao","bye"], "nein":["nee","no"],"ja":["yes","si","jaja","jo"]}
    fr=input("ergänzung zu 'hallo' oder 'tschüss?:")
    if fr in dictionary:
            dazu=input("gewünschte Ergänzung")
             
            dictionary[fr].append(dazu)
            print ("NEU:",dictionary)

        for k,v in dictionary.items():
            ein_string=(k)
            zwei_string=(v)
            drei_string='%s %s' % (ein_string, zwei_string)
            dictionary=drei_string
            print("NEUUUUUUUUUUU:",dictionary)

#return (dictionary)
    
       neues=open(dateiname, 'w')
        
       woerter=(dictionary)
 
       neues.write(woerter)
       neues.close()
       neues.close()
    return(neues)



Hallo!
Ich habe die obige Funktion erstellt. Der Zweck ist, dass ich ein Dictionary erweitern kann und das Ergebnis in eine Datei schreiben kann.
Es funktioniert: Werte dem Dictionary hinzufügen. Die Datei wird auch erstellt.
Problem: Es wird nicht das gesamte Dictionary in die Datei geschrieben, sondern lediglich der ein einziger Key mit dem Value.

Wie bekomme ich hin, dass alle Keys und Values in die Datei geschrieben werden?

Danke schonmal!!!! :)
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Lena: da wird gar nichts geschrieben, weil Deine Einrückungen kaputt sind. Falls Du die korrigierst, kannst Du ja mal schauen, wo "dictionary" welchen Wert bekommst. Warum schiebst Du Variablen von einem Namen zum anderen? Was hat das für einen Sinn? Und was sollen die Klammern um einzelne Variablen? Eine Datei zweimal zu schließen, schließt sie nicht besser als einmal.

Um das Wörterbuch in eine Datei zu schreiben wurde Dir hier schon mehrmals JSON empfohlen.
Lena
User
Beiträge: 22
Registriert: Mittwoch 24. Juni 2015, 09:37

Ich weiß dass mir json schon empfohlen wurde. Jedoch komme ich damit nicht klar. Vielleicht kannst du mir einen Tipp geben, wie ich json hier einbaue, damit ich mein dict in einer Datei habe!?...Das würde mir extrems weiterhelfen!
BlackJack

@Lena: Der Tipp wäre die Dokumentation lesen und verstehen. Du kannst auf Dauer nicht nur Programme ”schreiben” die aus kopierten Quelltexten bestehen und immer um solche betteln. Zumal Beispiele an anderer Stelle in den von Dir eröffneten Themen ja schon gegeben wurden.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Das JSON-Modul hat sogar eine reiche Auswahl an Dokumentation: https://docs.python.org/3/library/json.html

So könnte das aussehen:

Code: Alles auswählen

#dictionary vorbereiten
# ....

# daten in outfile.dump schreiben
with open('outfile.dump', 'wb') as f:
    json.dump(dictionary, f)
the more they change the more they stay the same
Antworten