codeing problem ^^

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.
Antworten
Rider

hi!
ich wollte mal folgendes versuchen zu coden:
ich hab nen file der (in hex) so aussieht:

\x43\xac\xf3\xb1\x98\x7a\x54\x0a

also einfach diese 8 byte.

so jetz will ich nach jedem byte ein "a" (\x41) einfügen, so dass ich 8 neue files bekomme mit

file1:
\x43\x41\xac\xf3\xb1\x98\x7a\x54\x0a

file2:
\x43\xac\x41\xf3\xb1\x98\x7a\x54\x0a

file3:
\x43\xac\xf3\x41\xb1\x98\x7a\x54\x0a

file4:
\x43\xac\xf3\xb1\x41\x98\x7a\x54\x0a
....

file8:
\x43\xac\xf3\xb1\x98\x7a\x54\x0a\x41


ich hab nur keinen plan wie ich mit sowas anfangen soll... :S

hoffe ihr könnt mir damit helfen - wär ne riesen sache ;)

grüße,
Rider
Rider

hmm ich hab schonmal bissl mit f.seek und f.write rumgespielt. von daher kann ich jetz bissl gezielter fragen

- kann ich den kompletten inhalt eines files in einen string konvertieren? wenn das mögl ist wüsste ich glaub ich schon wie ichs mache.

- wie kann ich sachen in einen file speichern den ich nicht grad mit open('tmp.txt', 'r+') geöffnet habe?

ich würd halt gern nen loop machen dass er die einzelnen byte durchgeht, mein "\x41" einfügt und dann den jeweiligen string wieder in ne neue datei abspeichert.
joe

Hi

Vielleicht so:

Code: Alles auswählen

achtbytes = open("file").read(8)
for i in range(8):
    f = open("file"+str(i),"w")
    f.write(achtbytes[:i+1])
    f.write("a")
    f.write(achtbytes[i+1:])
    f.close()
joe
Rider

hey danke! funktioniert super :)
Antworten