wort_zaehler.py

#
# wort_zaehler.py: zählt die Häufigkeit
# der Worte in einer Datei
#
from string import split

#Liest eine Datei
def datei_lesen (datei):
    in_file = open(datei,"r")
    # Datei zum Lesen (r: read) öffnen
    text = in_file.read() # Datei lesen
    in_file.close() # Datei schliessen
    return text      # und Inhalt zurückgeben

# Hauptprogramm:
pfad = "g:/python/prg/"
dateiname="china.txt"
print '\n\nDer offizielle Python-Wort-Zähler'
print 'Lese die Datei: ' + dateiname
text = datei_lesen(pfad+dateiname)
textliste = split(text) # text in liste
neud = {}               # das Wörterbuch
for wort in textliste:
    # Zeichen am Ende eines Wortes rauswerfen
    if wort[len(wort)-1] in [',','!','.','?',':']:
        wort = wort[:len(wort)-1]
    #falls das '#'-Zeichen (bzw.' oder ")
    #am Anfang eines Wortes 'klebt', entfernen
    if len(wort) > 1 and wort[0] in ['#','"',"'"]:
        wort = wort[1:len(wort)]
    if not (neud.has_key(wort)):
        neud[wort] = 1  # neuen Eintrag hinzufügen
    else:
        neud[wort] = neud[wort] + 1 # Häufigkeit erhöhen
# und ausgeben . . .
eintraege = neud.items()    # Wörterbuch in Liste
for eintrag in eintraege:
    print eintrag[0] + ':',eintrag[1]
print '\nFertig . . . (wort_zaehler.py)'

Fenster schließen