Nov 28, 2024

Wiki

Python

Aide

edit SideBar

Search

Fichiers De Bits


Cette page traite de la lecture et de la sauvegarde d'un objet BitVector dans un fichier.

Dans ce qui suit, on suppose avoir fait l'import suivant :

  >>> from BitVector import BitVector

Sauvegarde dans un fichier

On peut sauvegarder des BitVectors dont la longueur est un multiple de 8, comme suit :

  >>> from BitVector import BitVector
  >>> bv = BitVector(bitstring = "1101111000111100")
  >>> len(bv)
  16
  >>> fichier = open('sortie.bits','wb')
  >>> bv.write_to_file(fichier)
  >>> fichier.close()

Le fichier a bien été créé :

  >>> from glob import glob
  >>> glob('*bits')
  ['sortie.bits']

Et si l'on regarde son contenu :

  $ more sortie.bits 
  �<

A chaque paquet de 8 bits a été associé un caractère.

Lecture d'un fichier

Pour lire un fichier de bits, on utilise le constructeur BitVector avec l'argument filename :

  >>> from BitVector import BitVector
  >>> bv = BitVector(filename = 'sortie.bits')

Cet objet n'est pas directement exploitable : on doit lire dedans le nombre de bits voulu, qui doit être à nouveau un multiple de 8. On crée ainsi un nouveau BitVector...

  >>> bv1 = bv.read_bits_from_file(8)
  >>> print bv1
  11011110
  >>> bv2 = bv.read_bits_from_file(8)
  >>> print bv2
  00111100
  >>> bv3 = bv.read_bits_from_file(8)
  >>> print bv3

StringIO

On peut encore écrire un BitVector directement dans un objet stream...

  >>> fp_write = StringIO.StringIO()
  >>> bitvec.write_bits_to_fileobject( fp_write )
  >>> print fp_write.getvalue()         # 111100001111 

Page Actions

Recent Changes

Group & Page

Back Links