• Aucun résultat trouvé

Les Fichiers

N/A
N/A
Protected

Academic year: 2022

Partager "Les Fichiers"

Copied!
5
0
0

Texte intégral

(1)

Les Fichiers

Objets file.

f = open("/tmp/log","w") modes: read, write, append et + (rw), binary

Méthodes: close fileno flush isatty read readline readlines seek tell

truncate write writelines xreadlines Attributs: closed mode name softspace

Fichiers Itérables

f = open ("/var/log/meslogs") for l in f:

p = l.split()

if items[0]=="ERROR" :

s="Erreur source:"+p[1]+\

" code:"+p[2]+\

" note:"+" ".join(p[3:])

if p[2]=="FATAL": print "*"*len(s) print s

if p[2]=="FATAL": print "*"*len(s)

3

Laurent POINTAL - LIMSI COURS PYTHON

Fichiers Ailleurs

Création d'objets file avec os.popen(), os.fdopen(), méthode makefile() des objets socket.

Module sys, stdin, stdout, stderr.

Pseudo-fichiers en mémoire avec la classe StringIO du module StringIO.

import StringIO

pseudofic=StringIO.StringIO()

Module mmap - fichiers mappés en mémoire.

Module codecs, fonction open (classe EncodedFile).

4

Laurent POINTAL - LIMSI COURS PYTHON

Le module sys

sys.path - liste des chemins pour les modules.

sys.modules - dictionnaire des modules chargés..

sys.argv - liste des paramètres en ligne de commande (cf module getopt).

sys.stdin/stdout/stderr - fichiers d'entrée/sortie standards (utilisables directement, modifiables).

sys.exc_info() - (type, objet, pile d'appel) de l'exception en cours pour le thread.

(2)

5

Laurent POINTAL - LIMSI COURS PYTHON

Manipulations d'Objets

module copy - copies de surface ou en profondeur de conteneurs.

module pickle - sérialisation d'objets sous forme de flots binaires.

module shelve - persistance d'objets sérialisés dans une base de données dbm.

module new - création dynamique d'objets internes.

6

Laurent POINTAL - LIMSI COURS PYTHON

Manipulation de Textes

module string et méthodes des chaînes.

module pprint - formatage pour affichage propre (contenu de conteneurs, éventuellement imbriqués).

module re - expressions régulières.

module difflib - comparaison de textes.

module codecs et unicodedata.

module shlex - analyseur lexical.

modules locale et gettext.

7

Laurent POINTAL - LIMSI COURS PYTHON

Manipulation de flots Binaires

flot binaire = chaîne.

module array - tableaux 'C'.

module struct - accès à des structures 'C'.

module tiers xtruct - manipulation structures 'C'.

module zlib - compression.

modules base64, binhex, binascii.

8

Laurent POINTAL - LIMSI COURS PYTHON

Manipulation du Temps

Module time - fonctions de base.

Module calendar.

Module tiers mxDateTime - fonctions avancées.

Avec Python 2.3, module datetime.

Module sched - programmation d'actions.

(3)

Accès au Système

Module os - point d'accès aux fonctions système.

Environnement, utilisateur.

Fichiers bas niveau, pipes, terminaux.

Fichiers temporaires (+module tempfile).

Manipulation directory et fichiers dans le FS.

Lancement et contrôle de process externes (exec, popen, spawn, kill, system).

Module os.path - manipulation des chemins et noms de fichiers.

Module glob - pattern matching sur noms de fichiers.

Module shutil - manipulation fichiers de haut niveau.

Module filecmp - comparaison fichiers/répertoires.

Console

Module getpass. - saisie de mot de passe sans écho.

Module curses. - contrôle de la console pour gestion d'interface.

Module readline - édition en ligne de commande.

Module rlcompleter - complétion automatique.

Module cmd - création d'interpréteurs de ligne de commande.

11

Laurent POINTAL - LIMSI COURS PYTHON

Multitache

Données d'interprétation partagées via le Global Lock.

Module threading.

Classe Thread

Classes Lock et RLock- mutex.

Classe Event

Classe Condition - variable de condition.

Classe Semaphore Classe Timer

Module Queue - liste asynchrone (FIFO).

12

Laurent POINTAL - LIMSI COURS PYTHON

Communications Inter-Process

Mdule signal - support des signaux.

Module socket - accès programmation réseau bas niveau (module SocketServer).

Module select - gestion synchrone sockets, pipes.

Module asyncore - gestion asynchrone des sockets.

Module tiers twisted - framework très complet.

Protocole XMLRPC - client xmlrpclib et exemple de serveur.

Modules tiers pour CORBA, COM/DCOM, SOAP.

(4)

13

Laurent POINTAL - LIMSI COURS PYTHON

Internet

Protocoles applicatifs: HTTP, FTP, SMTP, IMAP, POP, telnet...

Interface applicatif CGI, gestion cookie.

Module webbrowser - accès au browser par défaut de l'utilisateur.

Manipulation des données (MIME, fichiers emails, encodages divers, URLs, XDR...)

Modules md5, sha...: cryptographie.

Texte structuré: HTML, flots XML avec SAX ou DOM, SGML.

14

Laurent POINTAL - LIMSI COURS PYTHON

Bases de Données

Bases clé valeur, utilisées comme des dictionnaires, modules anydbm (utilise whichdb), dbhash, gdbm, dbm.

Module bsddb.

Python Database API V2 - API standard pour les SGBD relationnelles.

Modules tiers pour MySQL, PostgreSQL, Oracle, DB2, Ingres, Informix, Interbase, Sybase, SapDB, SQLite…

Module tiers mxODBC - toute BD avec driver ODBC.

Modules tiers pour d'autres bases de données.

15

Laurent POINTAL - LIMSI COURS PYTHON

Génie Logiciel

Module unittest - organisation et déroulement de tests unitaires.

Module doctest - tests basés sur des informations dans la documentation en ligne.

Module tiers pychecker - contrôle statiques sur le code.

Module pydoc - extraction de la documentation en ligne.

16

Laurent POINTAL - LIMSI COURS PYTHON

Calcul / Algo

Module bisect - maintien de liste triée.

Module tiers Numerical Python (NumPy) Numeric réécrit en Numarray - calcul numérique, matrices, traitement d'image.

Module tiers Scientific Python Scientific - I/O, calcul numérique, algos scientifiques, visualisation.

Module tiers scipy - calcul numérique, algos scientifique.

Module tiers StatPy - calcul statistique.

Module tiers PIL (Python Imaging Library).

Autres (MatPy, AstroPy, biopython...).

(5)

Numeric

from Numeric import *

a = arange(24,typecode="f") print a [0.,1.,…,23.]

print a.shape (24,) a.shape = (2,12)

print len(a) 2 lst = a.tolist() b = add(a,1)

print b [[1.,…,12.],[13.,…,24.]]

c = fromstring(open("data").read(),"1") c.shape = (256,256)

c1 = clip(c,45,200)

Références

Documents relatifs

Deuxième remarque : ‘\t ‘ correspond à une tabulation et ‘\n’ est le caractère réservé pour « retour à la ligne ». La version de python utilisée

Toujours dans le même script, ajoutez la fonction extrait_genes() qui prend en argument la liste des gènes, la séquence nucléotidique complète (sous forme d’une chaîne de

Nous vous conseillons de toujours suivre cette convention afin d’éviter les confusions, si vous itérez sur les indices vous pouvez appeler la variable i (par exemple dans for i

Or seules 52 décimales sont stockées en mémoire, on perd les dernières décimales, ce qui induira

Une liste est une variable dans laquelle on peut mettre plusieurs variables. Une liste est une variable qui peut stocker une suite (une collection) de nombres ou

Par le nombre d’organismes de recherche associés et par la diversité des secteurs d’activité concernés, ces deux mega-projets ouvraient la voie vers une

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Lewis est à même de nous faire apprécier le changement de régime de la pensée, entre la philosophie et ce qu’on appellera désormais le mythe : « Ce qui vous pénètre avec le mythe