Seite 1 von 1
Frage zu Dateien, Bits und Bytes
Verfasst: Samstag 17. September 2005, 17:29
von qweet
Hallo,
ich habe eine 1mb große Datei und würde diese gern byte-weise auslesen.
wie stell ich das an?
gibt bei mir sowas in der Art aus:
'"\xb24\xb8\xdc\...\...\'
Jetzt noch eine letzte Frage zu den Bits. Wie kann ich aus einem Byte die einzelnen Bits auslesen?
das wars auch schon

mfg, qweet
Verfasst: Samstag 17. September 2005, 17:51
von Leonidas
datei.read(1) ist sehr naheliegend und sollte funktionieren.
Verfasst: Samstag 17. September 2005, 18:26
von rayo
Hi
Also falls es Windows ist vielleicht 'rb' anstatt 'r' nehmen (Binär lesen).
Wegen Bitweise lesen:
http://www.python-forum.de/viewtopic.ph ... highlight=
Gruss Rayo
Re: Frage zu Dateien, Bits und Bytes
Verfasst: Samstag 17. September 2005, 21:05
von BlackJack
qweet hat geschrieben:ich habe eine 1mb große Datei und würde diese gern byte-weise auslesen.
wie stell ich das an?
gibt bei mir sowas in der Art aus:
'"\xb24\xb8\xdc\...\...\'
Damit bekommst Du eine Zeichenkette mit dem gesamten Inhalt der Datei. Mit '\x??' werden Bytes angezeigt, die sich nicht als ASCII anzeigen lassen. Anstelle der beiden Fragezeichen steht eine zweistellige Hexadezimalzahl, die den Wert des Bytes angibt.
Bei Dateien mit nur einem Megabyte kannst Du normalerweise unbesorgt die ganze Datei in den Speicher laden und dann über die einzelnen Zeichen iterieren. Dateien byteweise einlesen ist recht langsam.
Wenn Du die Zeichen als Zahl, also den Byte-Wert benötigst, dann musst Du die Zeichen mit der `ord()` Funktion umwandeln:
Code: Alles auswählen
from itertools import imap
datei = open('1meg.001', 'rb')
data = datei.read()
datei.close()
for byte in imap(ord, data):
print byte