eine Konsol-Applikation (d.h. Eingabe über stdin, Ausgabe über stdout in einem Konsol-/Terminalfenster), mit
dem Sie den Inhalt einer Textdatei anzeigen und nach Zeichenketten suchen können.
Es bestehen folgende Anforderungen, die Sie berücksichtigen müssen:
Die Datei soll nach Programmstart aus einer Liste von Dateien ausgewählt werden:
Es sollen Dateien im Startverzeichnis der Anwendung und den dort verhandenen Unterverzeichnissen in
beliebiger Tiefe berücksichtigt werden
Es sollen nur Dateien mit dem Namensmuster "*.txt" berücksichtigt werden
Es soll in der Liste geblättert werden können, wenn nicht alle Dateien gleichzeitig angezeigt werden können
Die Baumstruktur der Unterverzeichnisse soll optisch deutlich gemacht werden
Das Programm befindet sich nach der Dateiauswahl in einem der beiden Zustände „Anzeige“ (Voreinstellung beim
Programmstart) oder „Suche“, die Umschaltung erfolgt durch Anweisungen
Die Anzeige des Programms besteht aus einem Bereich zur zeilenweise Ausgabe der Dateiinhalte (N, z.B. 24,
Zeilen) und einer abschließenden Zeile zur Eingabe von Anweisungen (mit Führungstext)
Die Anzeige erfolgt seitenweise; zur Steuerung stehen die Anweisungen „Anfang“, „Ende“, „Vor“, „Zurueck“ zur
Verfügung (verwenden Sie ggf. abkürzende Schreibweisen, z.B. nur den Anfangsbuchstaben); bei Programmstart
wird direkt die erste Seite angezeigt
Vor jeder Zeile wird die Zeilennummer ausgegeben
Im Zustand „Suche“ werden nach der Eingabe einer Zeichenkette die Zeilen ausgegeben, die den Suchbegriff
enthalten; die Anzeige erfolgt wiederum seitenweise
Der Benutzer beendet das Programm gezielt durch ein Kommando "quit", das im Zustand "Anzeige" ausgewertet
wird.
Eine Liste der Dateien eines Verzeichnisbaums können Sie mit Hilfe der Methode „walk“ im Modul „os“ erstellen (Hinweis:
verwenden Sie nicht die Methode „walk“ des Modu „os.path“). Zur Überprüfung der Dateinamen benötigen Sie hier keine
regulären Ausdrücke, sondern können mit einfachen Stringmethoden wie „endswith“ (Modul „string“) arbeiten.
das ist die aufgaben stellung und hierbei scheiter ich an mangelndes python kenntniss
ich hab ansatzweisse codes progammiert ich weiss nicht ob ich die sinnvoll in zusammen hang bringen kann ...
Code: Alles auswählen
cwd = os.getcwd()
for root, dirs, files in os.walk(cwd):
print files
datei = raw_input (" bitte geben sie die gewünschte datei an ")
data = file(datei,"w")
data.close()
Code: Alles auswählen
#file_o = codecs.open(fileName_spl, 'rU', 'utf-8')
if fileName_spl.endswith('*.txt'):
print " Keine TXT "
searchText_s = raw_input('Geben Sie den Suchbegriff ein: ')
if searchText_s.endswith('\r'):
searchText_s = searchText_s[:-1]
for line_s in file_o:
if line_s.find(searchText_s) >= 0:
print line_s
file_o.close()