Daten aus Headerfile lesen als Integer, Char oder Real

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
RR_aus_H
User
Beiträge: 3
Registriert: Samstag 25. April 2009, 18:49

Hallo zusammen,
ich habe folgendes Problem.
Ich möchte aus einem Messdatenfile verschiedene Daten auslesen die an festen Stellen des Files sind, zB. die Kanalzahl (2 Byte Integer an Position 1) , oder die Abtastrate (4 Byte Integer an Position 291).

Das Problem ist read() oder readline() gibt mir in meinem Fall immer nur ein Steuerzeichen zurück z.B. (ACK), (SOH) oder (STX).

Leider komme ich mit der Hilfe nicht zurecht (viel zuviel, ich verzettel mich dauernd darin)

Ich habe irgendwo gelesen dass es bei den Möglichkeiten für die Fileein- und -ausgaben auch die Option "byte" gibt, weiss aber nicht wo diese Eingesetzt wird und ob diese überhaupt sinnvoll für mein Problem ist.

Ich benutze openSuse 11.1 und Python 2.6 und teste meine Versuche unter IDLE.

Da ich ein alter Programmieranfänger bin (>50 Jahre), wäre es nett wenn mir jemand dabei einen Tipp geben könnte.

Gruß
Roland
System: openSuSe 11.1 Kernel 2.6.27 x86 KDE 3.5
BlackJack

Ein `read()` gibt Dir eine "Zeichenkette" zurück, das sind im Grunde die Bytes die in der Datei stehen.

Schau Dir mal das `struct`-Modul aus der Standardbibliothek an.

Ansonsten ist vielleicht auch das Construct-Modul interessant.
RR_aus_H
User
Beiträge: 3
Registriert: Samstag 25. April 2009, 18:49

Hallo BlackJack,
danke für den Tip. Ich glaube dass die Funktion struct.unpack(i,xx) das richtige dafür ist.
Leider scheitere ich daran das Modul einzubinden.

Wie und an welcher Stelle kann ich das Modul importieren.

Gruß
Roland
System: openSuSe 11.1 Kernel 2.6.27 x86 KDE 3.5
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

`import struct` am Anfang der Pythondatei ;-)
RR_aus_H
User
Beiträge: 3
Registriert: Samstag 25. April 2009, 18:49

Hallo,
das mit dem import war ja einfach... wenn man's weiss :-)
Trotzdem hab ich noch Probleme mit der syntax der struct Befehle.

Gibt es vielleicht eine Web-Seite oder eine Adresse wo man Beispielcode herunterladen kann, so dass ich nicht wegen jeder Kleinigkeit dieses Forum belästigen muss?

Es scheint dass meine alten Basic- Kentnisse aus dem vorigen Jahrtausend doch schon sehr überholt sind.

Danke für die Hilfe
Roland
System: openSuSe 11.1 Kernel 2.6.27 x86 KDE 3.5
vario
User
Beiträge: 4
Registriert: Freitag 24. Oktober 2008, 15:43

Hallo Roland,

bei mir muss ich auch ein Messdatenfile umwandeln. Das struct modul ist dafür auf jeden Fall die richtige Wahl. Schau einfach mal ein mein Beispiel in http://www.python-forum.de/topic-18732.html rein und melde Dich, wenn Du noch fragen hast.

Viele Grüße
vario
Antworten