Wie geht das?
Code: Alles auswählen
laenge=os.path.getsize("cpc.bin")
f=open("cpc.bin", "rb")
wie in eine Liste??? = f.read(laenge)
Gruss
Code: Alles auswählen
laenge=os.path.getsize("cpc.bin")
f=open("cpc.bin", "rb")
wie in eine Liste??? = f.read(laenge)
Preisfrage für 50 Punkte: Wie lautete doch gleich das Idiom für das Öffnen von dateien?funkheld hat geschrieben:Danke.Code: Alles auswählen
laenge=os.path.getsize("cpc.bin") f=open("cpc.bin", "rb") wie in eine Liste??? = f.read(laenge)
Gruss
Das kann man ganz prima mit der type-Funktion herausfinden.funkheld hat geschrieben:"s = f.read(laenge)"
Ist "s" kein String???
Gruss
s ist bei deinem Beispiel in der Tat ein Stringobjekt. Was hat das jetzt mit deiner Frage nach der Liste zu tun?funkheld hat geschrieben:"s = f.read(laenge)"
Ist "s" kein String???
Code: Alles auswählen
with open('bla', 'rb') as f:
s = f.read() # ohne Groesse, liesst komplette Datei ein
size = len(s) # ja, Strings haben eine Laenge
print s[0] # und Indexzugriff, der evtl. fuer Deine Zwecke reicht
s_in_c = ctypes.create_string_buffer(s, size) # nicht explizit nullterminiert
s_in_c = ctypes.create_string_buffer(s) # nullterminiert, Pufferueberlauf droht fuer falsche Groesse
Das habe ich ihm auch schon mal erklärt...jerch hat geschrieben:Das Bestimmen der Dateigröße vor dem Einlesen des Inhaltes ist nicht nur überflüssig, sondern sogar gefährlich, zumindest so wie Du es dann weiter benutzt.