Cours 7 : Fichier, exception, module

Documents pareils
TP 1. Prise en main du langage Python

Cours 3 : Python, les conditions

Découverte de Python

Initiation à la programmation en Python

Les bases du langage Python

Cours 7 : Utilisation de modules sous python

Présentation du langage et premières fonctions

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Chapitre 2 Devine mon nombre!

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

L informatique en BCPST

1 Lecture de fichiers

2 Comment fonctionne un ordinateur, dans les grandes lignes

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

1 Recherche en table par balayage

STAGE IREM 0- Premiers pas en Python

La mémoire. Un ordinateur. L'octet. Le bit

Langage Java. Classe de première SI

I. Introduction aux fonctions : les fonctions standards

CHAPITRE 3 LA SYNTHESE DES PROTEINES

Programme Compte bancaire (code)

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...


MIS 102 Initiation à l Informatique

1. Structure d'un programme FORTRAN 95

TD3: tableaux avancées, première classe et chaînes

Calcul Formel et Numérique, Partie I

TP1. Outils Java Eléments de correction

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Editer un script de configuration automatique du proxy

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Les classes en Python

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Chapitre 4 : Édition de fichiers texte - Vi

Chapitre 4 Pierre, papier, ciseaux

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Cours Informatique Master STEP

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Tp 1 correction. Structures de données (IF2)

Licence Sciences et Technologies Examen janvier 2010

MABioVis. Bio-informatique et la

1 TD 2 : Construction d'une chier Acrobat et envoi par

Limites finies en un point

Introduction à MATLAB R

Application 1- VBA : Test de comportements d'investissements

Perl Orienté Objet BioPerl There is more than one way to do it

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Remote Method Invocation Les classes implémentant Serializable

INF 321 : mémento de la syntaxe de Java

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Configurer la supervision pour une base MS SQL Server Viadéis Services

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

ALGORITHMIQUE ET PROGRAMMATION En C

Python - introduction à la programmation et calcul scientifique

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Programmer en JAVA. par Tama

Vue d ensemble de Windows PowerShell

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Représentation d un entier en base b

ACTIVITÉ DE PROGRAMMATION

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Programmation C. Apprendre à développer des programmes simples dans le langage C

I00 Éléments d architecture

Initiation à l algorithmique

Examen Médian - 1 heure 30

Recherche dans un tableau

Corrigé des TD 1 à 5

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

RMI le langage Java XII-1 JMF

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Maple: premiers calculs et premières applications

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

Table des matières. Introduction

Une introduction à Java

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Calcul Formel et Numérique, Partie I

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Utilisation d objets : String et ArrayList

INTRODUCTION. 1 k 2. k=1

Remote Method Invocation (RMI)

Cours d initiation à la programmation en C++ Johann Cuenin

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Projet de programmation (IK3) : TP n 1 Correction

Les arbres binaires de recherche

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Transcription:

Cours 7 : Fichier, exception, module

Fichiers Pour écrire dans un fichier (crée / efface le fichier!) : fichier = open("nom/du/fichier", "w") fichier.write("ce texte va être écrit dans le fichier") fichier.write("et ce texte aussi!") Pour lire le contenu d'un fichier : fichier = open("nom/du/fichier", "r") print "le fichier contient :", fichier.read() On peut aussi découper le contenu du fichier en ligne : fichier = open("nom/du/fichier", "r") contenu = fichier.read() lignes = contenu.split("\n") print lignes > ["ligne n 1", "ligne n 2", "ligne n 3"] Les échanges réseaux fonctionnent de la même manière

Fichiers Exercice : Lire une séquence d'arnm depuis le fichier./arn, la traduire et enregistrer la séquence protéique dans le fichier./proteine On utilisera la fonction de traduction écrite précédemment

Fichiers Exercice : Lire une séquence d'arnm depuis le fichier./arn, la traduire et enregistrer la séquence protéique dans le fichier./proteine On utilisera la fonction de traduction écrite précédemment fichier = open("./arn") arn = fichier.read() proteine = traduction(arn) fichier = open("./proteine", "w") fichier.write(proteine)

Fichiers Exercice : Écrire un programme pour créer le dictionnaire du code génétique à partir du fichier code_genetique.txt, qui contient le code génétique sous la forme suivante : UUU F UUC F UUA L UUG L UCU S [codon acideaminé...]

Fichiers Exercice : Écrire un programme pour créer le dictionnaire du code génétique à partir du fichier code_genetique.txt, qui contient le code génétique sous la forme suivante : UUU F UUC F [codon acideaminé...] code_genetique = {} fichier = open("./code_genetique.txt") contenu = fichier.read() lignes = contenu.split("\n") for ligne in lignes: mots = ligne.split(" "): code_genetique[mots[0]] = mots[1]

Exceptions Les exceptions correspondent aux erreurs : print 1 + "2" Traceback (most recent call last): File "<pyshell#92>", line 1, in toplevelprint 1 + "2" TypeError: unsupported operand type(s) for +: 'int' and 'str' Il est possible de «récupérer» les erreurs : try: code susceptible de déclencher une erreur except nom_de_l'erreur : code à effectuer en cas d'erreur except: pass récupère toutes les erreurs ne fait rien

Exceptions Principales exceptions : TypeError : mauvais type de donnée ValueError : mauvaise valeur ZeroDivisionError : division par 0 SyntaxError : erreur de syntaxe KeyboardInterrupt : arrêt manuel du programme (contrôle C) Exemple : try: imc = poids / (taille * taille) except ZeroDivisionError: imc = 0.0 Il est possible de déclencher soi même des erreurs : raise ValueError("message d'erreur")

Exceptions Exercice : Écrire une fonction qui retourne 1 si deux séquences d'adn sont complémentaires, 0 sinon, et qui déclenche une exception si les deux séquences n'ont pas la même longueur

Exceptions Exercice : Écrire une fonction qui retourne 1 si deux séquences d'adn sont complémentaires, 0 sinon, et qui déclenche une exception si les deux séquences n'ont pas la même longueur def complementaire(adn1, adn2): if len(adn1)!= len(adn2): raise ValueError("les deux séquences n'ont pas la même longueur") for i in range(len(adn1)): if (adn1[i] == "a") and (adn2[i]!= "t" ): return 0 if (adn1[i] == "t" ) and (adn2[i]!= "a"): return 0 if (adn1[i] == "c") and (adn2[i]!= "g"): return 0 if (adn1[i] == "g") and (adn2[i]!= "c"): return 0 return 1

Exceptions Exercice : Écrire une fonction qui demande à l'utilisateur d'entrer un numéro de chromosome et le retourne, et convertit ce numéro en entier si cela est possible

Exceptions Exercice : Écrire une fonction qui demande à l'utilisateur d'entrer un numéro de chromosome et le retourne, et convertit ce numéro en entier si cela est possible def demander_chromosome(): chromosome = raw_input("entrez un numéro de chromosome : ") try: chromosome = int(chromosome) except: pass return chromosome

Modules Des modules (ou «package») Python permettent d'accéder à de nouvelles fonctions Python contient de nombreux modules D'autres modules peuvent être télécharger sur Internet Le site http://pypi.python.org recense un grand nombre de modules BioPython pour la bio informatique Il est possible d'écrire ses propres modules Avantage : permet de partager des fonctions entre plusieurs programmes

Modules Utilisation d'un module : import nom_du_module nom_du_module.nom_de_la_fonction() Utilisation d'un module (autre possibilité) : from nom_du_module import * nom_de_la_fonction() Exemple : import os print os.listdir("/home/jblamy") > ["tmp", "téléchargements", "cours",...]

Modules Les modules peuvent être imbriqués les uns dans les autres : Exemple : le module path est imbriqué dans le module os import os.path os.path.dirname("/home/jblamy/cours/cours2_python.sxi") > "/home/jblamy/cours"

Modules Quelques modules inclus dans Python : os os.path sys math random string re webbrowser zipfile Tkinter fonctions liés au système d'exploitation (fichiers...) fonctions pour manipuler des noms de fichiers système, fonctions propres à Python fonctions mathématiques avancées (sin, cos,...) génération de nombres aléatoires (= au hasard) fonctions avancées sur les chaînes de caractères recherche de motifs complexes dans des chaînes gestion du navigateur internet création / décompression de fichier.zip interface graphique La documentation complète de Python et de tous les modules inclut dans Python est téléchargeable ici : http://www.python.org/doc/2.4.4/modindex.html

Modules Le module math : math.cos(x) math.sin(x) math.tan(x) math.log(x) : ln mathématique math.log10(x) : log mathématique math.exp(x) : e x (exponentielle) math.pow(x, y) : x y (x ** y) math.sqrt(x) : racine de x Le module random : random.random() : un nombre au hasard entre 0.0 et 1.0 random.randint(x, y) : un entier au hasard entre x et y random.choice(liste) : un élément de la liste au hasard

Modules Exercice : Écrire une fonction qui retourne une chaîne d'adn aléatoire, avec un nombre de base donné.

Modules Exercice : Écrire une fonction qui retourne une chaîne d'adn aléatoire, avec un nombre de base donné. import random def adn_aleatoire(nb_base): bases = ["a", "t", "c", "g"] adn = "" for i in range(nb_base): adn = adn + random.choice(bases) return adn

Modules Pour créer ses propres modules : Créer un fichier mon_module.py Mettre dans ce fichier les fonctions du module Importer ce module avec import mon_module dans un script placé dans le même répertoire Exercice : Créer un module imc avec la fonction indice_de_masse_corporelle qui calcule l'indice de masse corporelle Créer un script test.py qui utilise ce module pour afficher mon indice de masse corporelle (poids : 64 Kg, taille 1m70)

Modules Exercice : Créer un module imc avec la fonction indice_de_masse_corporelle qui calcule l'indice de masse corporelle dans le fichier imc.py : def indice_de_masse_corporelle(poids, taille): return poids / (taille * taille) Créer un script test.py qui utilise ce module pour afficher mon indice de masse corporelle (poids : 64 Kg, taille 1m70) dans le fichier test.py : import imc print imc.indice_de_masse_corporelle(64.0, 1.70)

Modules Pour créer ses propres modules imbriqués : Les modules imbriqués correspondent à des répertoires Créer un répertoire mon_module Créer un fichier init.py Mettre dans ce fichier les fonctions du module Créer un fichier mon_sous_module.py Mettre dans ce fichier les fonctions du sous_module Importer ce module avec : import mon_module.mon_sous_module

Modules Exemple : modules clinique et clinique.imc : Créer un répertoire clinique Dans clinique/ init.py : [rien, mais le fichier doit exister!] Dans clinique/imc.py : def indice_de_masse_corporelle(poids, taille): return poids / (taille * taille) Dans script.py : import clinique.imc print clinique.imc.indice_de_masse_corporelle(64.0, 1.70)

Examen Exercice du même type que ceux fait en TD / TP Lors de l'examen, sont autorisés : Les notes prises en cours / TD / TP Les impressions des support de cours / TD Les sujets de TP sont interdits : Livres, calculatrice, ordinateur, téléphone,...