17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

286<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

cStringIO<br />

Degré de précision<br />

>>> from decimal import Decimal, getcontext<br />

>>> Decimal('5.9')/Decimal('3.4')<br />

Decimal("1.735294117647058823529411765")<br />

>>> getcontext().prec = 2<br />

>>> Decimal('5.9')/Decimal('3.4')<br />

Decimal("1.7")<br />

Ce module fournit, comme le module StringIO, une classe StringIO qui implémente<br />

les mêmes interfaces que le type file mais travaille avec une chaîne de caractères<br />

en mémoire. cStringIO est une implémentation rapide de l’objet StringIO.<br />

class StringIO([buffer])<br />

StringIO s’initialise avec un objet string ou unicode. Cependant, et contrairement à<br />

StringIO.StringIO, les méthodes de lecture de données retournent toujours des objets<br />

de type string et il est donc déconseillé de manipuler de l’unicode avec cet objet.<br />

Toutes les méthodes de l’objet sont équivalentes aux objets de type file exceptée la<br />

méthode close() qui libère le contenu en mémoire.<br />

Manipulation d’un fichier mémoire<br />

>>> from cStringIO import StringIO<br />

>>> donnes = StringIO('Répète après moi: Python est le meilleur<br />

langage\n'*100000)<br />

>>> print donnes.readline()<br />

Répète après moi: Python est le meilleur langage<br />

>>> donnes.seek(0)<br />

>>> fichier = open('hypnose.txt', 'w')<br />

>>> fichier.write(donnes.getvalue())<br />

>>> fichier.close()<br />

Utilitaires divers<br />

Cette section présente une série de modules utilitaires, à savoir :<br />

atexit : permet de gérer la fin du programme ;<br />

pdb : débogueur interactif ;<br />

getpass : saisie interactive d’identité ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!