2017-03-27 5 views
2

Schreiben Sie eine Funktion func (infilepath), die die Datei liest, deren Dateipfad ist infilepath, und gibt die Anzahl der Male jedes Zeichen (ausgenommen Newline-Zeichen) erschien in der Datei in sortierter Reihenfolge der Charaktere.Datei lesen in Python, brauche Hilfe für Hausaufgaben

Jede Hilfe würde sehr geschätzt werden!

+1

Postleitzahl zuerst. – Xiaoerge

+0

Ich würde, wenn ich irgendwelche hätte, aber keine Ahnung, wie ich anfangen soll. –

+0

[Google ist für Sie] (https://www.google.com/search?q=file+read+python). –

Antwort

0

Dies wird nicht die genaue Antwort sein, aber genug, um Sie zu beginnen!

Zunächst öffnen Sie eine Datei:

f = open("file.txt", "r") 

Dann Zeilen lesen

lines = f.readlines() 

ein Wörterbuch definieren. Teilen Sie die Zeile durch Leerzeichen, erhöhen Sie das Wörterbuch um eins, wenn sie Charakter bereits im Wörterbuch enthalten ist, sonst initialisieren es auf 0.

chars = {} 
lines = [line.strip() for line in lines] 
for line in lines: 
    line = line.split(" ") 
    for i in line: 
     if i not in chars.keys(): 
      chars[i] = 0 
     else: 
      chars[i]+=1 

Mehr über Datei-Handling: https://github.com/thewhitetulip/build-app-with-python-antitextbook/blob/master/manuscript/06-file-handling.md

Mehr über Sätze/lits/Wörterbücher: https://github.com/thewhitetulip/build-app-with-python-antitextbook/blob/master/manuscript/04-list-set-dict.md

Einige Beispiele aus der Praxis bekommen Sie denken: https://github.com/thewhitetulip/build-app-with-python-antitextbook/blob/master/manuscript/13-examples.md