Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • PYTHON - Atelier MatPlotLib PYTHON - Atelier MatPlotLib
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous recommandons d'y créer tous vos nouveaux projets.

  • Poulard Christine
  • PYTHON - Atelier MatPlotLibPYTHON - Atelier MatPlotLib
  • Wiki
  • AtelierB2_Lire_un_fichier

AtelierB2_Lire_un_fichier · Changes

Page history
Update AtelierB2_Lire_un_fichier authored Apr 05, 2022 by Poulard Christine's avatar Poulard Christine
Hide whitespace changes
Inline Side-by-side
AtelierB2_Lire_un_fichier.md
View page @ a1b1e5f8
On est toujours dans l'Atelier **B** : un graphique simple, avec un axe des x et un axe des y. On est toujours dans l'Atelier **B** : un graphique simple, avec un axe des x et un axe des y.
Notions principales : **lire un fichier**, avec open ; **parser un fichier** à l'ancienne, avec split ; méthodes de type **read_csv** pour les fichiers bien structurés
Notions annexes: **module pandas"", **tkinter.filedialog**, **context manager**
Maintenant que l'on a quelques clés pour tracer un graphique, on va se placer dans un cas fréquent : on a un fichier et on souhaite visualiser les données. Maintenant que l'on a quelques clés pour tracer un graphique, on va se placer dans un cas fréquent : on a un fichier et on souhaite visualiser les données.
De toutes façons, il faut savoir lire les données dans un fichier, donc c'est l'occasion de voir comment se débrouiller en Python. De toutes façons, il faut savoir lire les données dans un fichier, donc c'est l'occasion de voir comment se débrouiller en Python.
...@@ -106,10 +109,12 @@ Création de bouteille d'eau. ...@@ -106,10 +109,12 @@ Création de bouteille d'eau.
Destruction de bouteille d'eau ; hop dans la poubelle verte. Destruction de bouteille d'eau ; hop dans la poubelle verte.
Les actions définies par __enter__ et __exit__ ne sont exécutées que dans le second cas. Les actions définies par __enter__ et __exit__ ne sont exécutées que dans le second cas.
En s'appuyant sur cette notion, on a proposé le script suivant pour gérer la création et la destruction de la fenêtre encadrant l'appel à une méthode de filedialog. En s'appuyant sur cette notion, on a proposé deux scripts pour gérer la création et la destruction de la fenêtre encadrant l'appel à une méthode de filedialog.
Le premier, présenté ici, fait appel à une classe "fantôme", qui ne fait pas grand chose ; le seul intérêt réside dans ses méthodes __enter__ et __exit__ qui vont respectivement créer et détruire une instance de tkinter.Tk. L'appel à tkinter.filedialog.askopenfilename ou à tout autre module de tkinter se fait dans le bloc du with.
Le second, plus complet, prend en argument la fonction de tkinter.filedialog et l'exécute dans sa méthode __enter__ . Les méthodes sont exécutées dans cet ordre : __init__, __enter__ puis __exit__ ; pour vous en convaincre il suffit d'ajouter des **print**.
```python ```python
# application de la notion de context manager pour utiliser filedialog # application de la notion de context manager pour utiliser filedialog; version simple
class FenetrePourDialogue: class FenetrePourDialogue:
def __init__(self, titre="fenêtre temporaire"): def __init__(self, titre="fenêtre temporaire"):
self.titre = titre self.titre = titre
......
Clone repository
  • AtelierB1_Graphiques_simples
  • AtelierB2_Lire_un_fichier
  • AtelierC
  • Atelier_D_carte
  • Atelier_D_carte_a_partir_de_fichiers_binaires
  • Atelier_E_longues_series
  • Atelier_G_widgets
  • Atelier_clic_afficher
  • Atelier_clics
  • Cartes focus sur le redimensionnement
  • GUI avec QT
  • La doc avec Sphinx
  • Lexique
  • Point Théorie Subplots
  • Pour les contributeurs
View All Pages