0%

Dateien lesen und schreiben · Abschlussprojekt

Abschlussprojekt: Das dauerhafte Journal ausführen

Das Programm ist vollständig. Diese letzte Lektion ändert die Oberfläche, nicht den Code: Der Bereich unten ist eine Bash-Sitzung mit Blick auf denselben gespeicherten Arbeitsbereich des Kapitels.

Prüfe zuerst, wo du bist, und führe die Startdatei zweimal aus:

pwd
python reading_log.py
python reading_log.py

Jeder erfolgreiche Lauf sollte Folgendes ausgeben:

Wrote reading_report.txt and recorded 4 books.

Die zweimalige Ausführung ist nicht der interessante Teil. Interessant ist, was die beiden Läufe hinterlassen.

Das dauerhafte Ergebnis untersuchen

cat reading_report.txt
cat reading_history.txt

Der Bericht sollte eine einzelne aktuelle Momentaufnahme enthalten:

Reading report
==============
Books: 4
- The Left Hand of Darkness
- Cien años de soledad
- Piranesi
- Convenience Store Woman

Der Verlauf sollte mindestens zwei vollständige Zeilen Recorded 4 books. enthalten. Falls ein früherer Lauf über Run im Editor bereits einen Eintrag erstellt hat, bleibt auch dieser erhalten. Das ist richtig: Die Datei soll erfolgreiche Läufe bewahren, und diese Lektion tut nicht so, als hätte sie leer begonnen.

Wenn der Bericht zwei Überschriften enthält, prüfe erneut write_report: Die Momentaufnahme wurde angehängt. Wenn der Verlauf nach zwei weiteren Läufen nur eine Zeile enthält, prüfe erneut append_history: Frühere Einträge wurden ersetzt. Falls Python data/books.txt nicht findet, vergleiche pwd mit dem Projektstamm, bevor du einen Pfad bearbeitest.

Was du tatsächlich gebaut hast

Drücke Check my work, wenn die sichtbaren Dateien den Erwartungen entsprechen.

Betrachte dann den Ordner als Ganzes, denn zum ersten Mal im Kurs existieren alle vier Teile gleichzeitig: ein Programm, die Eingabe, die es liest, das aktuelle Ergebnis, das es erzeugt hat, und eine Aufzeichnung aller seiner Läufe. Der Python-Prozess ist beendet. Die Terminal-Sitzung wird enden. Alle vier Dateien sind noch da.

Das bedeutet „dauerhaft“. Es ist der Unterschied zwischen einem Programm, das etwas berechnet, und einem Programm, das etwas hinterlässt. Jedes Projekt im restlichen Kurs ist eine Variante dieser Form.