Ich habe eine Binärdatei, von der ich versuche, Strings zu extrahieren, und ich habe ziemlich viel Zeit damit. :(Python - Hilfe mit Parsing-Datei benötigt. Gibt es eine Möglichkeit, EOF-Zeichen zu ignorieren?
Meine aktuelle Strategie ist das Einlesen der Datei mit Python (mit einer der folgenden Funktionen: read(), readline() oder readlines()). Als nächstes analysiere ich die Zeile (char by char) und suchen Sie nach dem Sonderzeichen ‚o‘, die in den meisten Fällen die Saiten direkt folgt ich will! Abschließend möchte ich rückwärts aus dem Sonder char analysieren alle Zeichen der Aufnahme, die ich als identifiziert „gültig“.
Am Ende des Tages möchte ich den vorderen Zeitstempel und die nächsten 3 Strings innerhalb der Linie.
Ergebnisse:
In der Eingabebeispielzeile # 1 lesen die "read" -Funktionen nicht die gesamte Zeile (im Ausgabebild dargestellt). Ich glaube, das liegt daran, dass die Funktion das Binärwort als EOF-Zeichen interpretiert und dann aufhört zu lesen.
In Zeile # 2 des Beispiels gibt es Zeiten, in denen das "spezielle Zeichen" angezeigt wird, jedoch nicht nach einer Zeichenfolge, die ich extrahieren möchte. :(
Gibt es einen besseren Weg, um diese Daten zu analysieren? Wenn nicht, ist es Art und Weise Problem in Beispiel Zeilen # 1?
Beispiele für Eingangsdaten und die resultierenden Ausgangsdatum gesehen zu lösen, wenn ich drucke nur die Linien als gelesen. wie Sie sehen können, ist es durch die gesamte Zeile nicht zu lesen, wenn readlines()
Mein String Extraktion Algorithmus, der nicht sehr robust ist.
FYI, Effizienz nicht unbedingt Bedeu ist t.
von Code als Screenshot Bild veröffentlichen, Sie machen es uns viel schwerer, Ihnen zu helfen. –
Es gibt kein EOF-Zeichen, EOF ist nur die Bedingung, um das Ende der Datei zu erreichen. – Barmar