int mit file() in eine datei schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

int mit file() in eine datei schreiben

Beitragvon JanDMC » Samstag 23. Dezember 2006, 19:23

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.
joa nää python is toll :D
BlackJack

Beitragvon BlackJack » Samstag 23. Dezember 2006, 19:28

Schau Dir mal das `struct`-Modul an.
JanDMC
User
Beiträge: 95
Registriert: Donnerstag 23. September 2004, 19:35
Kontaktdaten:

Beitragvon JanDMC » Samstag 23. Dezember 2006, 19:36

ok danke .. werde ich tun
joa nää python is toll :D
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Beitragvon Python 47 » Dienstag 26. Dezember 2006, 04:33

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()
mfg

Thomas :-)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Dienstag 26. Dezember 2006, 09:15

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]