Seite 1 von 1
int mit file() in eine datei schreiben
Verfasst: Samstag 23. Dezember 2006, 19:23
von JanDMC
Hey Leute,
ich hab folgende Frage, ist es möglich mit der methode
z.B. möglich nicht nur Strings sondern ein in t zu speichern?
Ich möchte eine Datei haben in der z.B. eine ID enthalten ist, welche sich immer aus 4 byte zusammensetz.
Verfasst: Samstag 23. Dezember 2006, 19:28
von BlackJack
Schau Dir mal das `struct`-Modul an.
Verfasst: Samstag 23. Dezember 2006, 19:36
von JanDMC
ok danke .. werde ich tun
Verfasst: Dienstag 26. Dezember 2006, 04:33
von Python 47
Kleines Beispiel um eine Zahl in eine Datei zu schreiben:
Code: Alles auswählen
x=4
f=open('C:\\test.txt', 'w')
f.write('%s' %x)
f.close()
Verfasst: Dienstag 26. Dezember 2006, 09:15
von gerold
Hi Python 47!
Wink mit dem Betonpfeiler: Es ging darum, exakt 4 Bytes für die Speicherung der Zahl zu verwenden.
Der String "12345" wäre damit schon nicht mehr möglich.
Wie man aber mit ``len(struct.pack("i", 123456))`` sieht, ist das für struct kein Problem.
Code: Alles auswählen
>>> import struct
>>> i = 123456
>>> f = file(r"J:\Ablage\zahl.dat", "wb")
>>> f.write(struct.pack("i", i))
>>> f.close()
>>>
>>> f = file(r"J:\Ablage\zahl.dat", "rb")
>>> struct.unpack("i", f.read())
(123456,)
>>> f.close()
>>>
lg
Gerold