[Python] inserire byte in file binario

IloChab ilochab a gmail.com
Mar 18 Mar 2008 12:24:06 CET


2008/3/18, Nicola Giosmin - <nicgios a yahoo.it>:
>
> Ciao a tutti,
>
> Domanda:  è  possibile  inserire singoli  byte  (o
> gruppi  di byte)  in un  file binario  (io uso  il
> metodo struct) in un punto preciso?
>
> Se faccio:
>
> f = file
> f.seek(12)
> s = 0
> f.write(struct.pack("b", s))
> f.close()
>
> Effettivamente  un byte  nuovo viene  inserito "al
> posto"  del 13mo  byte  del file.  Io però  vorrei
> che  il  byte  venisse   inserito  al  13mo  posto
> senza  "mangiarsi" il  byte  che  c'era prima  (il
> quale verrebbe  spostato al 14mo posto).  Cioè: se
> inserisco  10  byte,  vorrei  che  il  file  fosse
> più  lungo di  10  byte... Ma  magari  è una  cosa
> impossibile  e   sto  delirando.  :)


NON puoi inserire bytes in un file sequenziale, indipendentemente dal fatto
che sia in binario o in testo.
Quello che puoi fare è aggiungere la parte che ti interessa al posto giusto
e poi RISCRIVERE tutto quello che aveva in coda e vuoi ancora conservare.
Per le insert devi usare strutture dati DIVERSE da un file sequenziale.

Ciao
Licia

Scusate  il
> mio  linguaggio  inappropriato, spero  di  essermi
> spiegato.
>
> Grazie in anticipo
>
> nicgios
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20080318/41d8d448/attachment.htm 


More information about the Python mailing list