Seite 1 von 1

Daten aus Headerfile lesen als Integer, Char oder Real

Verfasst: Donnerstag 30. April 2009, 20:10
von RR_aus_H
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

Verfasst: Donnerstag 30. April 2009, 20:14
von 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.

Verfasst: Donnerstag 30. April 2009, 21:53
von RR_aus_H
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

Verfasst: Donnerstag 30. April 2009, 22:39
von Dauerbaustelle
`import struct` am Anfang der Pythondatei ;-)

Verfasst: Freitag 1. Mai 2009, 21:29
von RR_aus_H
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

Verfasst: Freitag 1. Mai 2009, 22:01
von Dauerbaustelle

Verfasst: Samstag 2. Mai 2009, 12:52
von vario
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