Seite 1 von 1

Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 12:39
von Campionissimo
Hallo,

Ich möchte in einer Datei bestimmte Namen filtern.
Die Datei erzeugt ein Programm, die sich die ganze Zeit erneuert bis ich ausschalte. Das heisst sie wird immer größer.

Hierzu möchte ich nach bestimmten Namen suchen und natürlich ausschliesen(da sie die ganze zeit erneuert wird) das ich den gleich Namen bekomme.
Weiß wer vielleicht wie ich das mache?

Danke und Gruß

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 12:51
von Xynon1
Wenn bei deiner Datei immer weiterhinten was angehängt wird, kannst du einfach mit "read()" die Datei auslesen und mit jedem weiteren "read()" immer nur den angehangen Teil erfassen.

Ansonsten doppelte Namen ausschließen sollte nun nicht das Problem sein, einfach eine Liste oder Wörterbuch nutzen und vor dem anhängen/eintragen prüfen ob der Name in der Sammlung schon existiert.

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 12:57
von Campionissimo
Ich dachte ich könnte einen read Befehl benutzen für die Datei. Der die Datei immer wieder neu einliest. Aber dann habe ich das Problem.

Bei mehreren read funktionen ist das Problem. Woher weiss ich das der neue read befehl auch wirklich nur das angehängte nimmt.
Da ganze geht ja im ms Bereich.
Und zu den Wörtern:

Ich muss ja erkennen das es immer die gleichen sind zumindest die Wörter. Aber zu einem anderen Zeitpkt.

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 13:14
von Xynon1
Wieviel Bytes werden denn pro Sekunde anghangen?
Wieso muss der Text parallel ausgewertet werden?
Warum muss der Austausch der Daten über eine Datei erfolgen und nicht über eine vernünftige Schnittstelle?
Ist die Datei überhaupt in regelmäßigen Abständen geschlossen, damit man sie überhaupt auslesen kann?

Ansonsten würde ich mir einfach das Offset des Zeigers aus der Datei speichern und vor dem nächsten "read()" per "seek()" den Zeiger auf die alte Position setzen.

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 13:24
von Campionissimo
Also wenn ich Sie durchlaufen lasse werden es so 30 - 50MB in drei Stunden sein.
Also doch ziemlich viel.
Die Datei wird nicht regelmäßig erneuert, sondern es kommt auf die Situation an.Also nicht geschlossen sondern läuft live weiter

Da ich auf das eigendliche Programm leider keinen Zugriff habe. Deshalb schreibe ich das ganze in einen logfile und dann vergleich ich.

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 16:22
von gkuhl
@Campionissimo: Kannst du das Programm denn selbst starten? In dem Fall könntest du Python zur Steuerung ("subprocess"-Modul) verwenden und die Ausgabe direkt nach Python leiten.

Re: Nach Namen suchen in einer Datei

Verfasst: Dienstag 26. April 2011, 16:36
von Xynon1
Kann man einen (angenommenen) Log denn mit subprocess umleiten? Ausgabe klar, aber wenn das Programm selbst einige Filehandles benutzt, geht das bei denen dann auch?

Re: Nach Namen suchen in einer Datei

Verfasst: Donnerstag 28. April 2011, 07:27
von Campionissimo
Ja das Programm starte ich. Ich steuere die ganzen Einstellung und die Verbindung. Ich leite das Debug Programm direkt in eine Datei.Und wie geht das ganze mit Python?
Gibt da was hilfreiches ? Also so ein Beispiel Programm.

Danke