Ich habe eine Binärdatei mit ASCII gemischt, in der es einige Gleitkommazahlen gibt, die ich finden möchte. Die Datei enthält einige Zeilen wie diese:Wie finde ich Gleitkommazahlen in Binärdateien mit Python?
1,1,'11.2','11.3';1,1,'100.4';
In meinem Lieblings Regex Tester fand ich, dass die richtige regex ([0-9]+\.{1}[0-9]+)
sein sollte.
Hier ist der Code:
import re
data = open('C:\\Users\\Me\\file.bin', 'rb')
pat = re.compile(b'([0-9]+\.{1}[0-9]+)')
print(pat.match(data.read()))
ich nicht ein einziges Spiel bekommen, warum ist das so? Ich bin auf Python 3.5.1.
Sind Floats als Zeichenfolgen dargestellt? – Adib
Ja, sie sind ASCII-codiert. – JohnnyFromBF
Was ist eine * Binärdatei mit ASCII * gemischt und wie können Sie die ASCII- und Binärteile identifizieren? Ohne zu wissen, dass ich Ihnen nicht sagen kann, wie Sie die Datei sicher lesen können. BTW, Sie Regex nicht übereinstimmen '1.',' .5', nicht von '1' sprechen (aber für diesen letzten Teil kann es wünschenswert sein, scheitern) –