Académique Documents
Professionnel Documents
Culture Documents
Introduction
Tout programme ne communique pas directement avec les fichiers,
mais via certaines entités abstraites qui sont nommées
différemment dans différents langages ou environnements – les
termes les plus utilisés sont des descripteurs ou des flux.
avec :
Modes d’ouverture :
Les modes d’ouverture les plus importants :
Types de fichiers
Python suppose que chaque fichier est caché derrière un objet d’une
classe adéquate. Un objet d’une classe adéquate est créé lorsqu’on ouvre
le fichier et détruit au moment de la fermeture. En général, l’objet
provient d’une des classes présentées ici:
La fonction open() analyse les arguments qu’on a fourni et crée
automatiquement l’objet requis. l’invocation de la méthode close() coupera
la connexion à l’objet et au fichier et supprimera l’objet.
En raison du type de contenu du flux, tous les flux sont divisés en texte et
en flux binaires .
Flux pré-ouverts
On a dit que toute opération de flux doit être précédée de l’appel de la
fonction open(). Il existe trois exceptions bien définies à la règle. Lorsque
notre programme démarre, les trois flux sont déjà ouverts et ne nécessitent
aucune préparation supplémentaire. Se sont : sys.stdin, sys.stdout
et sys.stderr :
sys.stdin :
stdin ( entrée standard)
Le flux stdin est normalement associé au clavier, pré-ouvert pour la
lecture et considéré comme la principale source de données pour les
programmes en cours d’exécution;
La fonction bien connue input()lit les données stdin par défaut.
sys.stdout :
stdout (sortie standard)
Le flux stdout est normalement associé à l’écran, pré-ouvert pour
l’écriture, considéré comme la cible principale pour la sortie de
données par le programme en cours d’exécution;
sys.stderr :
stderr (comme sortie d’erreur standard)
le flux stderr est normalement associé à l’écran, pré-ouvert pour
l’écriture, considéré comme le lieu principal où le programme en
cours doit envoyer des informations sur les erreurs rencontrées lors de
son travail;
Exemple :
s = open(“c:/users/user/Desktop/file.txt”, “rt”)
…..
s.close()
print(f.read())
1.1- read() :
La plus élémentaire de ces méthodes est celle offerte par la
fonction read(). Si elle est appliquée à un fichier texte, la fonction est
capable de:
Exemple :
cnt = 0
s = open(‘text.txt’, “rt”)
ch = s.read(1)
while ch != ”:
print(ch, end=”)
cnt += 1
ch = s.read(1)
s.close()
On peut lire le fichier entier dans la mémoire à la fois via la fonction read(),
invoquée sans aucun argument ou avec un argument évalué None.
Remarque : la lecture d’un fichier de plusieurs téraoctets à l’aide de
cette méthode peut corrompre votre système d’exploitation.
Exemple :
cnt = 0
s = open(‘text.txt’, “rt”)
content = s.read()
for ch in content:
print(ch, end=”)
cnt += 1
s.close()
1.2- readline ()
Pour traiter le contenu du fichier comme un ensemble de lignes, pas comme
un groupe de caractères, on utilise la méthode readline()
try:
ccnt = lcnt = 0
s = open(‘text.txt’, ‘rt’)
ligne = s.readline()
while ligne != ”:
lcnt += 1
for ch in ligne:
print(ch, end=”)
ccnt += 1
ligne = s.readline()
s.close()
except IOError as e:
print(“erreur I/O: “, strerr(e.errno))
1.3- readlines ()
La méthode readlines(), lorsqu’elle est invoquée sans arguments, essaie
de lire tout le contenu du fichier et retourne une liste de chaînes, un
élément par ligne de fichier .
Remarque: lorsqu’il n’y a rien à lire dans le fichier, la méthode renvoie une
liste vide.
Exemple :
ccnt = lcnt = 0
s = open(‘text.txt’, ‘rt’)
lignes = s.readlines(20)
while len(lignes) != 0:
lcnt += 1
for ch in ligne:
print(ch, end=”)
ccnt += 1
lignes = s.readlines(10)
s.close()
Remarque : l’objet retourné par la fonction open() en mode texte est une
Exemple :
ccnt = lcnt = 0
lcnt += 1
for ch in ligne:
print(ch, end=”)
ccnt += 1
2- Ecriture : write ()
La méthode write() n’attend qu’un seul argument – une chaîne qui sera
transférée dans un fichier ouvert. Exemple : crée un fichier nommé a.txt,
puis y met dix lignes.
f = open(a.txt’, ‘wt’)
for i in range(10):
f.close()
Introduction