Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

traitement sequentiel des fichiers


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 20/11/2008 17:32:58 Vu : 2 205 fois

Note :
Aucune note

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Ce tutoriel explique comment traiter les fichiers de manière séquentielle, c'est à dire ligne par ligne. Il apprend a ouvrir, lire, créer des fichier

Tutorial

Gestion des fichiers

  • Role des fichiers

Echange de données entre plusieurs programmes
Permet de stocker des ensembles d'informations appelés "enregistrement"
Conserver des données à la fermeture d'une application
Récupérer des données à l'ouverture d'une application

  • Utilisation séquentielle (ligne par ligne)
  1. Préliminaires

Tout d’abord, il faut définir le répertoire dans lequel les fichiers seront stockés, pour cela, on a besoin d’importer les fonctions de la librairie os, il faut écrire en haut du programme :
from os import *
Puis :
chdir('C:\CheminRepertoire’)
Pour définir le dossier dans lequel on veut travailler.
Pour afficher le dossier courant :
print getcwd()

  1. Ouverture/Création d’un fichier

Fichier=file(NomFichier.type, mode)
#Type est l'extension, .txt pour un fichier texte classique
#mode est un mode d'ouverture

Modes :
'r' : le ficher existe déjà, ouverture en lecture seule

'w' : le fichier est ouvert en écriture seule, s'il existe déjà, il est tronqué et écrasé ; il est créé sinon.

'a' : le fichier est ouvert en écriture seule. S'il existe son contenu est conservé et les données ajoutées à la suite; il est créé sinon.

'r+' : le fichier doit déjà exister, est ouvert en lecture et écriture.

'w+' : le fichier est ouvert en lecture et en écriture, s'il existe déjà, il est tronqué et écrasé ; il est créé sinon.


Il est important de toujours fermer les fichiers après utilisation :

NomFichier.close()


  1. Lecture des lignes


En mode séquentiel, on lit les lignes les unes après les autres :

Ligne=NomFichier.readline()


Nous allons donner un exemple : Le fichier Premier.txt, dans le dossier ‘D:\Dossier Nombres’ contient la liste des nombres premiers entre 1 et 10 ; contenu du fichier :

2

3

5

7

Nous voulons lire le contenu de ce fichier dans notre programme :

from os import *

chdir('D:\Dossier Nombres')

Liste=file('Premier.txt','r')

Ligne=Liste.readline()

while Ligne<>"":

#Tant que les lignes ne sont pas vides

print Ligne

Ligne=Liste.readline()

Liste.close()


Resultat

>>>

2

3

5

7


  1. Ecriture dans un fichier

Pour écrire dans un fichier, on utilise write(), en ayant préalablement ouvert le fichier en mode ‘w’ ou ‘w+’.

Pour aller à la ligne, on écrit dans le fichier ‘\n’


Exemple : Nous voulons ajouter dans un fichier la lise des nombres premiers entre 1 et 10 en les indexant selon leur rang, c'est-à-dire :

1) 2

2) 3

3) 5

4) 7

Le fichier n’est pas encore créé.


from os import *

chdir('D:\Dossier Nombres')

fichier=file('Premier2.txt','w')

fichier.write('1) 2'+'\n')

fichier.write('2) 3'+'\n')

fichier.write('3) 5'+'\n')

fichier.write('4) 7'+'\n')

fichier.close()


Resultat

1) 2

2) 3

3) 5

4) 7


signaler à un administrateur
Commentaire de xeolin le 27/11/2008 12:17:56

Très bon tuto.

mais on préfère :

while Ligne != "":

à

while Ligne<>"":

et fichier=open('Premier2.txt','w')
à fichier=file('Premier2.txt','w')

(ce dernier sera retirer, normallement, dans python 3.0)

Sinon c'est un bon boulot.

signaler à un administrateur
Commentaire de thibault7249 le 04/02/2009 13:50:17

Merci personnellement,ça m'a beaucoup aidé :D

signaler à un administrateur
Commentaire de L20 le 21/05/2009 17:12:50

Super, merci !

signaler à un administrateur
Commentaire de Julien39 le 22/05/2009 10:59:49

Je suis content que ça vous ait servi.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,031 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.