0% ont trouvé ce document utile (0 vote)
21 vues11 pages

CH2 Programmation Python Avanvée Extrait

Le document traite des fichiers binaires dans le cadre de la programmation Python avancée. Il aborde des concepts tels que l'ouverture, la manipulation et la lecture de fichiers binaires, ainsi que l'utilisation de modules comme os et shutil. Des exemples pratiques sont fournis pour illustrer les différentes opérations sur les fichiers binaires.

Transféré par

tpinsstdis1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
0% ont trouvé ce document utile (0 vote)
21 vues11 pages

CH2 Programmation Python Avanvée Extrait

Le document traite des fichiers binaires dans le cadre de la programmation Python avancée. Il aborde des concepts tels que l'ouverture, la manipulation et la lecture de fichiers binaires, ainsi que l'utilisation de modules comme os et shutil. Des exemples pratiques sont fournis pour illustrer les différentes opérations sur les fichiers binaires.

Transféré par

tpinsstdis1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.

3/7/2025

Chap2: Fichiers Binaires

Module: PROGRAMMATION PYTHON AVANCÉE


Session : S2 2024/25
Filière : CI IACS
Réalisé par Prof :
Khalid OUNACHAD
[Link]@[Link]
ENSABM, USMS Béni Mellal
@ENSABM_ Séance du : 20/02/2025

Chap2: Fichiers binaires

Module: Réseaux & Cloud Computing


Elément Module: Réseaux
Filière : TDI (S2) 2023/24
Réalisé par Prof :
Khalid OUNACHAD
ENSABM, USMS Béni Mellal

@ENSABM_ Séance du : 20/02/2025

1
3/7/2025

Plan:

I. Introduction

II. Pickle

III. struct

IV. Autres bibliothèques et exemples

@ENSABM_ 07/03/2025
3

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Introduction

 Un fichier stocke des informations sur un support physique (disque dur, clé USB, carte

mémoire SD...).

 Ouvrir un fichier consiste à le charger dans la mémoire vive (RAM).

 Enregistrer un fichier consiste à l'écrire sur un support physique de stockage (l'information

est alors conservée de manière permanente).

@ENSABM_ 07/03/2025
4

2
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Types fichiers

 Les fichiers textes : l'information est stockée sous forme de caractères lisibles par un éditeur

de texte. Ceux ci sont lisibles. Autrement dit, ils contiennent du texte (lettres, ponctuations,

nombres, ...). Leur contenu est souvent divisé en lignes.

 Les fichiers binaires : l'information est stockée en binaire (une suite d'octets dont la valeur

est comprise entre 0x00 et 0xFF). Ceux-ci ne contiennent pas (exclusivement) du texte et ils

ne peuvent être convenablement traités que par des logiciels spécialisés. Un fichier PDF, une

image JPEG ou un mp3 sont quelques exemples de fichiers binaires.

@ENSABM_ 07/03/2025
5

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Fichiers et python

Deux approches des fichiers dans python:

 1- Python comme outil de manipulation de fichiers(OS, shutil)

 2- les fichiers pour conserver des données Python (fichiers de données: texte/binaire)

@ENSABM_ 07/03/2025
6

3
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Module os

Le module os : manipulation de fichiers (et de répertoires), il permet de:

 1) parcourir

 2) renommer

 3) création/destruction de répertoires

 Pas de copie de fichiers dans os

@ENSABM_ 07/03/2025
7

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Module os (2)
 getcwd() : fournit le répertoire courant

 chdir(nomrep) : se place dans le répertoire nomrep

 rename(src,dest) : renomme src en dest

 remove(chemin), rmdir(chemin) : supprime chemin

 mkdir(chemin) : crée le répertoire chemin

 listdir(chemin) : liste des fichiers/rep de chemin

 system(commande) : exécute la commande commande


Exemples : >>>rename(’[Link]’,’[Link]’)
>>>mkdir(’u:\\monRep\\python\\tp2’)

@ENSABM_ 07/03/2025
8

4
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Module shutil

Ce module fournit des fonctions de copie :

 copy(src,dest) : copie complète du fichier (y compris les droits)

 copyfile(src,dest) : copie du fichier sans les droits

@ENSABM_ 07/03/2025
9

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Manipuler un fichier
 Pour manipuler le contenu de fichier il faut définir des fichiers logiques (ou objets fichier).

 Deux fonctions centrales :

• open(nom,mode,…) : ouvre le fichier nom avec le mode mode

• [Link]() : ferme l’objet fichier obFic

 Exemple :

ficLog=open(’[Link]’,’rb’) # Ouvre ficLog

[Link]() # Ferme ficLog

@ENSABM_ 07/03/2025
10

5
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Ouvrir ou créer un fichier


 On utilise la fonction open(chemin, mode,…).

 Cette fonction prend en premier paramètre le chemin du fichier (relatif ou absolu) et en


second paramètre le type d'ouverture(l’ouvrir pour quoi faire!)

 Chemin : types

• Un chemin relatif en informatique est un chemin qui prend en compte


l'emplacement de lecture.

• Un chemin absolu est un chemin complet qui peut être lu quelque soit
l'emplacement de lecture.

 Remarque: Ouvrir un fichier en mode écrire qui n’existe pas permet de le créer.

@ENSABM_ 07/03/2025
11

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Ouvrir un fichier binaire: Mode


 Les modes d'ouverture :r :(READ). w:(WRITE), a: (APPEND).

Mode Description
'rb' Lecture seule en binaire
'wb' Écriture seule en binaire (écrase le contenu)
'ab' Ajout en binaire (ajoute à la fin du fichier)
'xb' Création exclusive en binaire (Erreur si le fichier existe)
'rb+' Lecture & écriture en binaire
'wb+' Lecture & écriture en binaire (écrase le contenu)
'ab+' Lecture & ajout en binaire (ajoute à la fin)

@ENSABM_ 07/03/2025
12

6
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Mode dans open(…): Différences entre r+, w+ et a+

 Les modes permettent de lire et d’écrire dans des fichiers binaires, mais avec les différences
suivantes:

Mode Lecture Écriture Effacement du fichier Ajout en fin de fichier


'rb+' Oui Oui Non Non
'wb+' Oui Oui Oui (efface tout) Non
Oui (ajoute toujours à
'ab+' Oui Oui Non
la fin)

@ENSABM_ 07/03/2025
13

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Fermer un fichier

 Comme tout élément ouvert, il faut le refermer une fois les instructions terminées. Pour cela

on utilise la méthode "close()".

 Exemple:

>>> [Link]()

f: désigne le nom du fichier logique dans le code du programme

@ENSABM_ 07/03/2025
14

7
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Ouvrir un fichier binaire: exemple

Ou bien:

@ENSABM_ 07/03/2025
15

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Lire séquentiellement le contenu d’un fichier

 On doit avoir le mode ‘rb’ en ouverture dans le cas d’un fichier binaire f:

 Pour afficher tout le contenu du fichier f, on peut utiliser une de ces méthodes:

• [Link]() : fournit la totalité de f sous forme de bytes.

• [Link](n) : fournit n bytes de f à partir de la position courante.

• [Link]() : fournit une ligne de f sous forme de bytes.

• [Link]() : fournit la totalité de f sous forme d’une liste de bytes.

@ENSABM_ 07/03/2025
16

8
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Lire séquentiellement le contenu d’un fichier


Exemple:

Sortie:

@ENSABM_ 07/03/2025
17

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Lire un fichier binaire octet par octet


Exemple:

@ENSABM_ 07/03/2025
18

9
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Lire un fichier binaire par blocs (chunking)


Exemple:

@ENSABM_ 07/03/2025
19

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Ajouter des données à un fichier binaire


Exemple:

@ENSABM_ 07/03/2025
20

10
3/7/2025

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Modifier un fichier binaire: bytearray


 Un bytearray est une version mutable d'un objet bytes.
 Il permet de modifier des données binaires directement en mémoire.
Exemple:

@ENSABM_ 07/03/2025
21

I- Introduction - Introduction
II- Pickle
III- struct
IV- Autres bibliothèques et exemples

Accès direct à un fichier binaire: seek()


Syntaxe: seek(offset, whence)

 offset : le nombre d’octets à déplacer.

 whence (optionnel) :

• 0 (SEEK_SET) : Positionnement au début (défaut).

• 1 (SEEK_CUR) : Positionnement à la position actuelle.

• 2 (SEEK_END) : Positionnement à la fin du fichier.

@ENSABM_ 07/03/2025
22

11

Vous aimerez peut-être aussi