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

Code: Alles auswählen

file.write(string)
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. :P
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
:-)